![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли закрыть listen socket при работающих accepted ?
GuAV © (2006-01-20 23:39:00)Сокет переведен в режим listen. Клиент соединяется, для него срабатывает accept, имеем новый сокет для обмена данными с клиентом. Можно ли теперь закрыть исходный listen сокет без потери соеднения с подключившимся клиентом ?
GuAV (2006-01-23 21:32:00) [1]Спасибо.
Digitman (2006-01-23 08:26:00) [2]
> GuAV © (21.01.06 21:44) [4]
Читай на MSDN все касаемое механизма true conditional acceptance, в частности возможностей в этом плане ф-ций WSAAccept(), SetSockOpt() c аргументом SO_CONDITIONAL_ACCEPT
GuAV (2006-01-21 21:44:00) [3]
> Да, просто "electronically tested" ;)
Так и я могу.
Хочется чтобы всё по документации, или хотя бы по более объёмному опыту, чтобы не было проблем с более старой/более новой библиотекой сокетов.
GanibalLector (2006-01-21 19:23:00) [4]2 GuAV © (21.01.06 19:12) [2]
Да, просто "electronically tested" ;)
GuAV (2006-01-21 19:12:00) [5]
> Т.е. просто CloseSocket(акцептирующий_сокет) и клиенты
> будет живы.
Это где-то документировано, откуда-то следует, или просто "electronically tested" ?
Дело в том, что в последнем случае я бы предпочёл не закрывать его, а "не пускать" (сразу закрывать) лишних клиентов.
GanibalLector (2006-01-21 18:25:00) [6]> Можно ли теперь закрыть исходный listen сокет без потери соеднения с подключившимся клиентом ?
Можно. Т.е. просто CloseSocket(акцептирующий_сокет) и клиенты будет живы. Но!!! Если ты выполнишь WSACleanup,то не надейся...клиентам прийдет "кончина" ;)