Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизВопрос про ServerSocket и ClientSocket Найти похожие ветки
← →
civic.qip (2008-08-25 07:08) [0]Простое приложение, у одного есть компанент ServerSocket1 у другого ClientSocket1.
Если Клент разрывает соединение так: ClientSocket1.Active:=false;
То у сервера срабатывает событие OnDisconnect, ВСЕ ЗАМЕЧАТЕЛЬНО!!!
Но если машина на которой запущен клиент, случайно выключиться, то сервер никак не риагирут!
В чем же дело? Как отловить серверу то, что клиент отключился?
← →
Сергей М. © (2008-08-25 09:44) [1]
> В чем же дело?
В том что "случайно выключившийся" клиент не может послать серверу FIN-пакет по причине своей скоропостижной смерти.
> Как отловить серверу то, что клиент отключился?
Послать что-нибудь клиенту.
Если клиент мертв, возникнет исключение.
← →
DVM © (2008-08-25 16:31) [2]
> Но если машина на которой запущен клиент, случайно выключиться,
> то сервер никак не риагирут!
Сервер должен периодически опрашивать клиентов. Например, посылая им какие либо данные. Если посылка не удалась - клиент мертв. Еще лучше, чтобы клиент отвечал на тестовые посылки сервера, т.е. что-то типа ping-а было.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.168 c