Повторно открыть тот же сокет для повторного использования C ++ - PullRequest
0 голосов
/ 19 ноября 2009

У меня есть приложение, которое прослушивает определенный номер порта RPC, скажем, 10001 для соединения с другим устройством (оборудованием) с использованием программирования сокетов.

Тем временем аппаратное устройство будет пытаться установить соединение с моим IP и тем же номером порта 10001.

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

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

Звучит ли я запутанно

Спасибо

1 Ответ

2 голосов
/ 20 ноября 2009

После того, как установленное сокетное соединение было разорвано, вы не можете использовать этот сокет повторно.Вы должны закрыть этот сокет и выделить новый сокет для нового соединения.

Тем не менее, отсоединение сетевого кабеля на конце прослушивания не должно оказывать никакого влияния на существующий сокет прослушивания, способный принимать новые подключения, как толькокабель был вставлен обратно. Если он не может этого сделать, возможно, неисправен стек сокетов вашей ОС.

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