Форум: "Сети";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
ВнизКак правельно обрабоать обрыв свзяи в 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c