Подскажите куда копать.
Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть).
Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя.
Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?
Жизнь удалась!
Re: boost socket зачем-то создаются соединения самого на себя
Здравствуйте, Salex100, Вы писали:
S>Подскажите куда копать. S>Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть). S>Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя. S>Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?
Например, для передачи внутренних нотификаций внутрь общего select() в треде.
Альтернативно можно было бы использовать WFMO, но select в таком режиме переносимее.
The God is real, unless declared integer.
Re[2]: boost socket зачем-то создаются соединения самого на себя
Здравствуйте, netch80, Вы писали:
N>Например, для передачи внутренних нотификаций внутрь общего select() в треде. N>Альтернативно можно было бы использовать WFMO, но select в таком режиме переносимее.
Как то не кашерно все это выглядит...
Вычислил функцию после использования которой пораждается открытие этого порта — async_connect.
Если сокет открывать не асинхронно, то дополнительный порт самого на себя не открывается. При этом не имеет роли используются ся ли при этом асинхронные чтение/запись.
Жизнь удалась!
Re[2]: boost socket зачем-то создаются соединения самого на себя
Здравствуйте, netch80, Вы писали:
N>Например, для передачи внутренних нотификаций внутрь общего select() в треде. N>Альтернативно можно было бы использовать WFMO, но select в таком режиме переносимее.
какой еще select и какая еще переносимость? там под каждую ОС — свой код, для винды используется IOCP
In Zen We Trust
Re: boost socket зачем-то создаются соединения самого на себя
Здравствуйте, Salex100, Вы писали:
S>Подскажите куда копать. S>Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть). S>Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя. S>Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?
используйте отладчик.
In Zen We Trust
Re: boost socket зачем-то создаются соединения самого на себя
Здравствуйте, Salex100, Вы писали:
S>Подскажите куда копать. S>Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть). S>Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя. S>Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?
S>
Судя по скриншоту, у вас Windows. Почему то в ней (Linux не проверял) для каждого из соединений через localhost принято выводить по 2 соединения (проверьте с netstat/telnet/какой-нибудь простой сервер): одно соединение — от клиента к серверу, другое соединение — от сервера к клиенту.
Programs must be written for people to read, and only incidentally for machines to execute