Корректное завершение работы TCP\IP server
От: Alena G. Россия  
Дата: 25.12.06 11:21
Оценка:
Всем привет,

Есть TCP\IP server в основе работы которого — блокирующий select.

Вопрос, каким образом корректно завершить его работу.
Корректно, означает, что все данные, которые должны быть отправлены — отправляются,
а те, которые должны быть получены — получаются.

На текущий момент есть следующие варианты:
1. Классика жанра по Стивенсу — использовать дополнительный handler stdin в select.
Насколько мне известно — Винда в select ожидает только SOCKET
2. Создание доп. порта, на который будут приходить данные, если ожидается завершение работы server
3. Использовать неблокирующий select, вылетающий по time — out. Не хотелось бы.

Хотелось бы услышать другие варианты.
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.