Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Вопрос про 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
6-1216448798
Alex_C
2008-07-19 10:26
2010.08.27
HttpOpenRequest - получаю Bad request


2-1273729075
tippa
2010-05-13 09:37
2010.08.27
грабер емайл


15-1274077724
12
2010-05-17 10:28
2010.08.27
и я спрошу. Писалка DVD + CDchanger


2-1267590008
cwl
2010-03-03 07:20
2010.08.27
адрес - property с индексом


2-1266086179
Interesting
2010-02-13 21:36
2010.08.27
Иконка в SysTray и форма