Текущий архив: 2008.07.06;
Скачать: CL | DM;
Вниз
Не возникает Disconnect Найти похожие ветки
← →
Cardinalius © (2007-09-16 10:47) [0]Приветствую, Мастера!
Возникла проблема... При физическом отключении сети (выдернули штекер RJ-45) не возникает событие OnDisconnect на TClientSocket, хотя если присвоить Active := false сервера или клиента, то данное событие возникает. Мне же необходимо получить данное событие при физическом отключении. Может кто-нибудь знает как?
← →
Сергей М. © (2007-09-16 10:52) [1]
> необходимо получить данное событие при физическом отключении
Зачем тебе это событие понадобилось ?
← →
Cardinalius © (2007-09-16 11:41) [2]Ну и чтобы остановить всякие таймеры и прочую лабуду :)
Фактически нужно, чтобы при обратном включении возникало событие OnConnect и файл передавался дальше :)
← →
Сергей М. © (2007-09-16 11:44) [3]
> Ну и чтобы остановить всякие таймеры и прочую лабуду
"всякие таймеры и прочая лабуда" прекрасно останавливаются и по исключению и по событию OnError, возникающим при попытке выполнения Send-методов в момент физического разрыва канала.
← →
Сергей М. © (2007-09-16 11:47) [4]
> нужно, чтобы при обратном включении возникало событие OnConnect
И не жди даже, не дождешься ты его.
OnConnect - одно из следствий выполнения метода Open.
Нет Open - не будет и OnConnect.
← →
Anatoly Podgoretsky © (2007-09-16 12:18) [5]Это не Disconnect, а Error - поэтому оно возникнуть не может.
← →
Сергей М. © (2007-09-16 12:45) [6]
> Cardinalius
Касаемо конкретно компонентов TServer/ClientSocket следует понимать, что события On[Client]Disconnect возникают лишь не иначе как при штатном разрыве виртуального соединения по инициативе партнера по этому соединению.
Разрыв же физического соединения относится к аварийной ситуации, а не к штатной.
← →
Cardinalius © (2007-09-17 17:11) [7]Ясно. Сапсибо всем!
Тогда как мне отследить момент отключения? Неужели пинговать по таймеру? Или есть более правильные методы?
← →
DVM © (2007-09-17 17:13) [8]
> Неужели пинговать по таймеру? Или есть более правильные
> методы?
Не пинговать, а обмениваться пакетами. Это и есть правильное решение.
← →
Сергей М. © (2007-09-17 18:55) [9]
> как мне отследить момент отключения?
Чукча не читатель ?)
см. [3]
← →
Cardinalius © (2007-09-17 20:20) [10]> [9] Сергей М. © (17.09.07 18:55)
>
> Чукча не читатель ?)
>
> см. [3]
Сорри :) Сейчас буду разбираться... Спасибо еще раз!
← →
Сергей М. © (2007-09-17 20:30) [11]
> Cardinalius © (17.09.07 20:20) [10]
Весьма важен момент: ClientType = ?
Страницы: 1 вся ветка
Текущий архив: 2008.07.06;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.038 c