| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Распределённые приложения и сеть > Как определить дисконнект клиента |
| Автор: Black_Wolf 8.10.2008, 12:16 |
| Доброго времени суток. Пишу серверную часть приложения, используя TcpListener и TcpClient. Но возникла небольшая проблема. На серверной стороне нужно отловить момент дисконекта клиента. Ни где на форуме вариантов решения не нашел, в msdn тоже (наверно плохо искал). Есть вариант использовать таймер для определения времени простоя, и закрывать соединение принудительно по истечении определенного времени. Может кто-нибудь посоветует вариант получше? |
| Автор: SpaceSpace 27.10.2008, 08:49 |
| Пробуешь клиенту что-то передать и ловиш ексепшн) |
| Автор: Black_Wolf 28.10.2008, 06:16 | ||
| SpaceSpace Дело в том что в качестве клиента выступает Telnet. Нужно поймать то событие когда окно телнет просто закрывают. Или меня глючит Конструкция
заработала. При неожиданном отключении клиента мы вываливаемся из цикла. |
| Автор: SpaceSpace 28.10.2008, 07:50 |
| гм. ну и в чем вопрос? ты вывалился из цикла по исключению, ты его поймал, обработал, все на этом работа закончена. |
| Автор: Black_Wolf 30.10.2008, 13:48 |
| SpaceSpace Вывалился именно не по исключению, а по значению 0, которое вернула функция Read(buff, 0, buff->Length) |