Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: 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 вся ветка

Текущий архив: 2008.05.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
2-1208669820
stasxxx
2008-04-20 09:37
2008.05.18
Несколько вопросов


15-1207069375
TIF
2008-04-01 21:02
2008.05.18
1 апреля - ФИНАЛ БЛИЗОК... Включите "Время" на Первом


2-1208420080
operator
2008-04-17 12:14
2008.05.18
TGauge для вывода сколько процентов файла обработано.


15-1207312946
@!!ex
2008-04-04 16:42
2008.05.18
MSDN для Limux API есть?


8-1179768333
NewZ
2007-05-21 21:25
2008.05.18
*.wav файлы!!!