Один порт для чтения, один порт для записи - хорошая идея для приложений с сокетами? - PullRequest
1 голос
/ 05 января 2012

Мне интересно, будет ли хорошей идеей иметь 2 отдельных порта, один для чтения, другой для записи?Могу ли я ожидать лучшей производительности?

ПРИМЕЧАНИЕ: Сервер - Centos, Клиент - флэш-память, формат сообщения в сообщении - JSON.

Ответы [ 3 ]

2 голосов
/ 05 января 2012

Нет существенного преимущества в производительности, и для обработки двух сокетов может потребоваться гораздо больше кода, чем для одного, особенно на стороне сервера.

Вам все равно придется открывать оба сокета на стороне клиента,так как большинство систем не позволяют серверу открывать соединение обратно к клиенту.

1 голос
/ 05 января 2012

AFAIK, TCP оптимизирован при условии, что вы отправите запрос и получите ответ на тот же сокет, однако разница, вероятно, будет незначительной.

Часто самое простое решение также является самым быстрым.

Какую проблему вы пытаетесь решить?

0 голосов
/ 05 января 2012

Лучше всего иметь его в TCP с одним портом, также в зависимости от того, используете ли вы NIO или нет,

На всякий случай, если вы хотите иметь 2 порта и, если это не TCP (например, UDP)

Если вы используете 32-разрядную версию Cent OS, убедитесь, что ваше ядро ​​использует больше портов, чем должно.

Это предотвращает нехватку портов и быстро повредит ваш сервер.

Примите во внимание, если вам нужно поддерживать 100 пользователей, 100 x 2 = 200 открытых портов.

, но в большинстве случаев доступны только его (65534 - 1024) порты, поэтому, если вы можете себе это позволить, тогда это круто.

Также помните, что большинство интернет-провайдеров блокируют определенные порты, поэтому оставляйте нужные порты открытыми для чтения / записи.

относительно

...