Может ли один поток подключить несколько сокетов к одному и тому же ip / порту? - PullRequest
1 голос
/ 05 апреля 2011

Если у вас есть однопоточная программа, которая обращается к серверу, может ли эта программа подключить 2 защищенных клиентских сокета к одному и тому же ip / порту или это вызовет проблему, поскольку clientIp / clientPort / serverIp / serverPort будет одинаковым?Я не уверен, как определяется порт клиента.Причина, по которой я хочу это сделать, заключается в том, что каждое соединение может войти в систему с разными именем пользователя / паролем с разными разрешениями.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Да, вы можете: просто создать два отдельных соединения.

Если вы не укажете клиентский порт (т.е. вы установили его на 0), система выберет один для вас случайным образом.

Если вы хотите иметь возможность реагировать на события в обоих случаях, вы можете использовать select для этого.

0 голосов
/ 05 апреля 2011

Jeff, Вы можете подключиться к одному IP-адресу / порту сервера с другим клиентским портом.Если вам нужно подключиться через тот же клиентский порт, вам нужно выполнить последовательность подключения / отправки-запроса / отключения / подключения ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...