| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Ситуация, когда winsock2::connect() вернёт |
| Автор: powerfox 16.12.2008, 02:46 |
| Привет! Как воспроизвести сабж? Пробовал просто создавать аксептор, биндить его на порт, устанавливать число соединений на 1 соединение, но не вызывать аксепт. По идее, всё правильно? |
| Автор: MAKCim 16.12.2008, 14:09 |
нет в модуле TCP реализована очередь полностью установленных соединений т. е в таком случае connect завершится успешно, а последующий write/read нет |
| Автор: powerfox 16.12.2008, 16:16 |
| MAKCim, а как мне тогда воспроизвести ситуацию, когда коннект блокирует? Просто я занимаюсь сетевой библиотекой и нужны тесты. |
| Автор: J0ker 17.12.2008, 05:09 |
делать коннект на не открытый порт, при этом система должна быть настроена на игнорирование таких коннектов |
| Автор: J0ker 18.12.2008, 05:09 | ||||
все зависит от настроек стека если стек настроен на reject с посылкой RST (reset) пакета - то будет что-то вроде host actively refused connection если стек настроен на reject с посылкой icmp - будут различные варианты "хост недоступен" вам нужно что-бы стек был настроен на drop - тогда пакеты будут просто уничтожаться и ничего в ответ посылаться не будет, и вы сможете безболезненно получить wouldblock для линукса смотрите ман по iptables |