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

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

Как на сервере ServerSocket проверить живой ли ClientSocket [D5, Win2k]


AVovikA ©   (2003-05-05 18:22:00) 

У меня сервер электронного заказа Клиенты подключаются запрашывают прайсы, отправляют заказы, но так как они это делают по телефонной сети, то очень часто запросить прайс они успели, а вот получить уже провалились. Логин активный и сокет открыт.

Как проверить если кто на том, конце? Пока действует схема по ошибке записи в сокет. Но может кто, подскажет что поинтереснее.


Verg   (2003-05-06 14:04:00) [1]

1. На каждый запрос-ответ : одно соединение. Клиент соединяется, делает запрос, сервер отвечает и закрывает соединение. HTTP да и только :))
2. Таймаут неактивности клиента. Если за N секунд/минут от клиента - ни слуху ни духу - закрываешь соединение.
3. Периодическая отправка холостого сообщения (которое не помешает конкретному протоколу обмена) клиенту, если TCP соединение уже неживо, то действует схема по ошибке записи в сокет.


Digitman   (2003-05-06 08:30:00) [2]


> Пока действует схема по ошибке записи в сокет


Для реализации TCP/IP-протокола в Windows это - единственная правильная и надежная схема.


$hade   (2003-05-06 06:09:00) [3]

После подключения сервер каждые скажем 5 сек. отправляет запрос типа "Ты жив?"- клиент отвечает "Жив"...если молчит значит не поймал...


Наверх

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