Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Вниз

Не возникает 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
3-1201699267
Nodnars
2008-01-30 16:21
2008.07.06
Помогите выбрать движок


15-1211436673
Caks
2008-05-22 10:11
2008.07.06
конвертация из basic в delphi


15-1211564220
Пробегал2...
2008-05-23 21:37
2008.07.06
Кто-нибудь делал заборную емкость для воды на дачу?


15-1211360284
Knight
2008-05-21 12:58
2008.07.06
Программа для MS SQL..


2-1212774296
DJ_UZer
2008-06-06 21:44
2008.07.06
При наведении файла на форму - открытие





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский