Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.044 c
2-1269376383
dorik
2010-03-23 23:33
2010.08.27
Загрузка TFileStream в RichEdit - проблемы при ключе fmOpenRead


2-1273071297
ИльяСеменов
2010-05-05 18:54
2010.08.27
Как выгрузить данные из базы данных в массив дельфи


15-1263941080
Германн
2010-01-20 01:44
2010.08.27
Отладка программы


15-1270447332
Ламо777
2010-04-05 10:02
2010.08.27
Вопрос знатокам Postgres


15-1273860812
AKE
2010-05-14 22:13
2010.08.27
Согласитесь, что нехватает оператора типа a < x < b




   Наверх