Re: boost socket зачем-то создаются соединения самого на себя
От: Abyx Россия  
Дата: 23.06.13 11:02
Оценка: -2
Здравствуйте, Salex100, Вы писали:

S>Подскажите куда копать.

S>Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть).
S>Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя.
S>Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?

используйте отладчик.
In Zen We Trust
boost socket зачем-то создаются соединения самого на себя
От: Salex100 Россия  
Дата: 22.06.13 16:23
Оценка: -1
Подскажите куда копать.
Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть).
Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя.
Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?

Жизнь удалась!
Re: boost socket зачем-то создаются соединения самого на себя
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.06.13 18:27
Оценка:
Здравствуйте, Salex100, Вы писали:

S>Подскажите куда копать.

S>Написал проект на boost для работы с сокетами в асинхронном режиме (только клиентская часть).
S>Все вроде работает, но по непонятной для меня причине открываются не только заданные порты, а еще один порт на самого себя.
S>Это я чего-то не знаю про работу сокетов, специфика boost asio или я где-то весьма оригинально накосячил?

Например, для передачи внутренних нотификаций внутрь общего select() в треде.
Альтернативно можно было бы использовать WFMO, но select в таком режиме переносимее.
The God is real, unless declared integer.
Re[2]: boost socket зачем-то создаются соединения самого на себя
От: Salex100 Россия  
Дата: 23.06.13 06:51
Оценка:
Здравствуйте, netch80, Вы писали:

N>Например, для передачи внутренних нотификаций внутрь общего select() в треде.

N>Альтернативно можно было бы использовать WFMO, но select в таком режиме переносимее.

Как то не кашерно все это выглядит...

Вычислил функцию после использования которой пораждается открытие этого порта — async_connect.
Если сокет открывать не асинхронно, то дополнительный порт самого на себя не открывается. При этом не имеет роли используются ся ли при этом асинхронные чтение/запись.
Жизнь удалась!
Re[2]: boost socket зачем-то создаются соединения самого на себя
От: Abyx Россия  
Дата: 23.06.13 11:02
Оценка:
Здравствуйте, netch80, Вы писали:

N>Например, для передачи внутренних нотификаций внутрь общего select() в треде.

N>Альтернативно можно было бы использовать WFMO, но select в таком режиме переносимее.

какой еще select и какая еще переносимость? там под каждую ОС — свой код, для винды используется IOCP
In Zen We Trust
Re: boost socket зачем-то создаются соединения самого на себя
От: abrarov Россия http://asio-samples.blogspot.com/
Дата: 08.08.13 12:43
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.