Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите


Jeck ©   (2002-05-07 13:54:00) 

TServerSocket, TClientSocket
Если во время передачи произошел разрыв связи, событие OnDisconnect на сервере срабатывает?


ole   (2002-05-08 11:38:00) [1]

В таком случае проще использовать УДП протокол.
И организовать свой собсный протокол проверки соединения!
Уж он-то не подвисает как постоянное соединение.


Vlad___   (2002-05-08 11:24:00) [2]

А ты попробуй посылать чтонибудь между клиентом и сервером через каждые N секунд например. Что-то типа ПРОВЕРКА_СВЯЗИ. Если сообщение не может быть отослано то срабатывает OnError.


Jeck   (2002-05-08 11:12:00) [3]

И как использовать timeout, я не использую TWinSocketStream


Jeck   (2002-05-08 11:10:00) [4]

а событие OnClientError срабатывает?


ole   (2002-05-08 04:38:00) [5]

Разве что использовать тайм-ауты... И закрывать соккет "вручную" по истечении положенного времени простоя.


Jeck   (2002-05-08 00:08:00) [6]

Спасибо. Ясно. Но как отработать такое событие? За клиентом мне необходимо почистить.


Digitman   (2002-05-07 14:18:00) [7]

Если произошел физический разрыв - нет. OnDisconnect() - событие программно-логического, не физического уровня, возникающее как реакция на сетевой пакет от удаленного партнера, передаваемый в контексте корректного закрытия гнезда по инициативе того же удаленного партнера. Если произошел физический разрыв связи либо по каким-то причинам низкоуровневый гнездовой транспорт (в любой точке маршрута) не в состоянии доставить такой пакет партнеру, то событие не возникнет никогда и соединение "зависнет" в якобы активном состоянии.


Наверх

Титульная страница Поиск, карта сайта Написать письмо