Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ситуация, когда winsock2::connect() вернёт, WouldBlock (неблокирующий сокет) 
:(
    Опции темы
powerfox
Дата 16.12.2008, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Привет!
Как воспроизвести сабж?
Пробовал просто создавать аксептор, биндить его на порт, устанавливать число соединений на 1 соединение, но не вызывать аксепт.
По идее, всё правильно?


--------------------
user posted image
PM WWW   Вверх
MAKCim
Дата 16.12.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(powerfox @  16.12.2008,  02:46 Найти цитируемый пост)
По идее, всё правильно? 

нет
в модуле TCP реализована очередь полностью установленных соединений
т. е в таком случае connect завершится успешно, а последующий write/read нет


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
powerfox
Дата 16.12.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



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


--------------------
user posted image
PM WWW   Вверх
J0ker
Дата 17.12.2008, 05:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 1
Всего: 14



Цитата(powerfox @  16.12.2008,  16:16 Найти цитируемый пост)
как мне тогда воспроизвести ситуацию, когда коннект блокирует?

делать коннект на не открытый порт, при этом система должна быть настроена на игнорирование таких коннектов


--------------------
user posted image
PM MAIL   Вверх
powerfox
Дата 18.12.2008, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(J0ker @  17.12.2008,  06:09 Найти цитируемый пост)
делать коннект на не открытый порт, при этом система должна быть настроена на игнорирование таких коннектов 

Спасибо, попробую на досуге. А разве в данном случае не будет что-то типа "хост не доступен"?


--------------------
user posted image
PM WWW   Вверх
J0ker
Дата 18.12.2008, 05:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 1
Всего: 14



Цитата(powerfox @ 18.12.2008,  02:25)
Цитата(J0ker @  17.12.2008,  06:09 Найти цитируемый пост)
делать коннект на не открытый порт, при этом система должна быть настроена на игнорирование таких коннектов 

Спасибо, попробую на досуге. А разве в данном случае не будет что-то типа "хост не доступен"?

все зависит от настроек стека
если стек настроен на reject с посылкой RST (reset) пакета - то будет что-то вроде host actively refused connection
если стек настроен на reject с посылкой icmp - будут различные варианты "хост недоступен"
вам нужно что-бы стек был настроен на drop - тогда пакеты будут просто уничтожаться и ничего в ответ посылаться не будет, и вы сможете безболезненно получить wouldblock
для линукса смотрите ман по iptables


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.