|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как отслеживать падение программы-клиента?
Люди, у меня проблема! У меня задача: есть программа-сервер, и программа-клиент. Обое осуществляют связь между собой через Indy (на сервере установлен компонент TIdTCPServer, в клиенте - TIdTCPClient). При неожиданном закрытии клиента сокет закрывается, но - автоматически. Как проследить закрытие сокета?
Просто у меня есть своя серверная структура данных, где отмечается, в сети клиент или нет. Так вот при неожиданном закрытии клиента сервер еще считает, что клиент открыт, хотя сокета уже нету. |
#2
|
||||
|
||||
Отлеживай закрытие программы-клиента и отправляй на сервер сообщение
Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#3
|
|||
|
|||
Цитата:
Я тоже так думал, но например если отключилось электричество или кто-то нажал кнопку ресет на компьютере - в таких случаях программа не отслеживает никаких событий |
#4
|
||||
|
||||
реализуй небольшой "пинг-диалог"
Server -> Client : Are you online? Client -> Server : Yes, I'm online. с определённой периодичностью и таймаутом |
#5
|
|||
|
|||
Цитата:
все спасибо, я нашел: там есть в сервере метод OnDisconnect |