Я создал приложение клиент / сервер с компонентом IdTCPServer. Клиенты подключаются и поддерживают постоянное соединение в течение всего срока службы приложения. Если сетевое соединение разорвано (что происходит довольно часто, потому что клиенты подключаются с помощью беспроводных карт), клиент автоматически подключится заново. Это все отлично работает.
Моя проблема связана с сокетами на сервере, соответствующими потерянному соединению. Они не обнаруживают пропадание сети и отключают себя. Прочитав несколько статей, я узнал, что у сервера нет возможности узнать, было ли разорвано соединение. Надо ждать какого-то события, чтобы это выяснить.
Итак, мой вопрос, должен ли я встроить какой-нибудь механизм в мой сервер, чтобы периодически «обрабатывать» сокеты с потерянными соединениями? И если да, то как? Я думал, что одним из способов будет сделать цикл через все соединения и попытаться отправить им данные. Я считаю, что это вызовет необходимое «событие».