![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как на сервере 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 сек. отправляет запрос типа "Ты жив?"- клиент отвечает "Жив"...если молчит значит не поймал...