Вниз
Скачать: CL | DM;

Как правельно обрабоать обрыв свзяи в TServerSocket   Найти похожие ветки 

 
r.o.o.t ©   (2007-08-09 17:17) [0]

Господа вот проблема
при аварийном завершении программы на серверной стороне происхрдит исключение onError но при аварином выключении компа т.е выдернуть сетевой шнур или кнопкой выключить комп
никакого события непроиходить т.е. имеется подключение у которо есть хэндл в который можно писать и ошибок никаких непроисходит на клиенте наоборот все просто
вопрос
как отрабатывать аваринное выключение клиентов на серевре
TServerSocket??


 
Сергей М. ©   (2007-08-10 08:42) [1]


> при аварином выключении компа т.е выдернуть сетевой шнур
> или кнопкой выключить комп


Какой комп-то ? Клиентский ? Серверный ?

И почему ты не учитываешь, что аварийная ситуация может произойти в любой точке маршрута от клиента к серверу ?


 
r.o.o.t ©   (2007-08-10 09:49) [2]

клиентский комп
допустим такая проблема может возникнуть на определнном участке маршрута
как отлавливать такие ситуации и правельно их обрабатывать?


 
Сергей М. ©   (2007-08-10 09:55) [3]


> как отлавливать такие ситуации и правельно их обрабатывать?


Отказы на произвольном, т.е. заведомо непрогнозируемом учаске маршрута, могут быть обнаружены только при вызове метода приема или передачи. При этом рано или поздно возникнет исключение или будет возбуждено событие OnClientError, что и будет являться фактом "аварии".

Иных способов гарантированно обнаружить факт аварии средствами упомянутого компонента нет и быть не может.


 
DVM ©   (2007-08-10 11:34) [4]

Для того чтобы с гарантией узнавать от том, что есть проблемы со связью клиент-сервер, надо им постоянно обмениваться тестовыми пакетами. Например, клиент шлет ping, а сервер отвечает pong. Если сервер не ответил клиенту в течение заданного отрезка времени, то соединение считается клиентом потерянным, и наоборот если клиент не прислал ни одного тестового пакета серверу в течение заданного интервала, то сервер отключает такого клиента и удаляет его из своего списка.


 
r.o.o.t ©   (2007-08-10 11:37) [5]

>DVM

дай код реализации


 
DVM ©   (2007-08-10 11:54) [6]


> дай код реализации

у меня его нет


 
Сергей М. ©   (2007-08-10 11:56) [7]


> r.o.o.t ©   (10.08.07 11:37) [5]


Какой тебе "код" ?)

Ты даже не сподобился уточнить режим работы сервера - блокирующий, неблокирующий..


 
r.o.o.t ©   (2007-08-10 13:15) [8]

неблокирующий


 
Сергей М. ©   (2007-08-10 13:20) [9]

Ну раз неблокирующий, вполне сойдет и обычный таймер.


 
r.o.o.t ©   (2007-08-10 16:02) [10]

ну а подробнеее...


 
Сергей М. ©   (2007-08-10 16:05) [11]

ЧТО тебе непонятнго, уважаемый ?)

Ты ж где-то там в соседних топиках трындел про "идентификацию" (за "трындеж", кстати, ты и был удостоен внимания модератора) - так неужто тебе неведома работа приложения в контексте механизма Win-сообщений ?



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.038 c
2-1208707819
lewka-serdceed
2008-04-20 20:10
2008.05.18
имя создаваемого файла Word


2-1208861284
Kolyan88
2008-04-22 14:48
2008.05.18
Работа с таблицами


15-1207295964
Kolan
2008-04-04 11:59
2008.05.18
Посоветуйте IDE для руби.


15-1207300558
legandr
2008-04-04 13:15
2008.05.18
Уравнение у пагодообразной крыши...


2-1208322491
Mishenka
2008-04-16 09:08
2008.05.18
Как переписать статический метод?




   Наверх