Могут ли ServerSocket и Socket использовать один и тот же порт? - PullRequest
0 голосов
/ 14 ноября 2011


Теперь я хочу использовать серверный сокет для прослушивания порта x, в то же время я хочу использовать порт x для установки сокета на другой серверный сокет, то есть серверный сокет и сокет будут использовать один и тот жепорт, это возможно?
Я знаю для сокета, это четыре кортежа, один порт может иметь несколько сокетов, но для сокета и сокета сервера?
спасибо за внимание!

1 Ответ

4 голосов
/ 14 ноября 2011

Трудно понять ваш вопрос, потому что неясно, когда вы говорите "порт", подразумеваете ли вы порт источника или порт назначения.

Если ваш вопрос: «Могу ли я принимать входящие соединения на порту X, а также устанавливать исходящие соединения на порт X?» Ответ - да. (Вы можете привязать к и подключиться к к тому же порту.)

Если ваш вопрос: «Могу ли я прослушать на порту X, а также установить исходящие соединения с порта X?» Ответ - нет - если вы не используете два разных локальных IP-адреса. Для TCP на одном IP-адресе вы можете подключиться к порту только один раз. Если вы связываетесь с прослушиванием, с этого момента порт зарезервирован для входящих соединений, которые вы принимаете - вы не можете снова связываться с ним, чтобы установить исходящие соединения с it.

...