Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
3-1197035486
iZEN
2007-12-07 16:51
2008.05.18
Сравнить две СУБД (.mdb)


2-1203231941
DRAF
2008-02-17 10:05
2008.05.18
Полоса пкрутки


3-1197297073
Fregl
2007-12-10 17:31
2008.05.18
Ошибка добавления lookup поля в TADOTable


2-1208530727
che
2008-04-18 18:58
2008.05.18
Вопрос жизни и смерти


2-1208506836
dmitry_12_08_74
2008-04-18 12:20
2008.05.18
Работа Delphi с базами данных Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский