| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Распределённые приложения и сеть > Как проверить состояние сокета? |
| Автор: -Mikle- 5.6.2005, 14:09 | ||
| кратко опишу проблему. Есть код на сервере, который в отдельном потоке циклично проверяет, пришли ли данные:
Проблема в следующем: если во время выполнения цикла клиент отрубится, т.е. сокет станет не доступен для передачи или приема, то цикл так и будет выполнятся, не зная о том, что удаленный комп уже недоступен. Мне нужно как-то отловить факт того, что клиент стал недоступен(например у него инет пропал), еще до того как я че-нить ему пошлю. Отлавливать ексепшн, при посылке данных клиенту, не годиться, так как эти данные сервер может и не послать никогда. Короче мне в этом цикле нужно поймать момент, когда клиент отрубился. PS: MSDN смотрел... |
| Автор: -Mikle- 5.6.2005, 16:37 |
| ИЗВИНЯЮСЬ ЗА ТО ЧТО ПОТОРОПИЛСЯ С ВОПРОСОМ. Вопрос снят, определить отвалился ли клиент можно так: if ( RSck.Poll(0, SelectMode.SelectRead) && RSck.Available == 0) { // соединение было закрыто } |