В моем сервере-приложении используется TIdTCPServer, несколько клиентских приложений используют TIdTCPClients для подключения к серверу (все компьютеры находятся в одной локальной сети).
Некоторым клиентам приходится обращаться к серверу каждые пару минут, другие - раз в секунду, а один - примерно 20 раз в секунду.
Если я поддерживаю соединение между клиентом и сервером, я сохраню повторное подключение, но должен проверить, не потеряно ли соединение.
Если я закрываю соединение после каждой передачи, он должен повторно подключаться каждый раз, но нет необходимости проверять, осталось ли соединение.
Каков наилучший способ сделать это?
На какой частоте передачи данных я должен держать соединение открытым вообще?
Каковы другие преимущества/недостатки для обоих сценариев?