Я использую TIdCmdTCPClient и TIdCmdTCPServer. Внезапно я обнаружил, что мне может понравиться двунаправленное общение.
Что будет лучше? Должен ли я использовать некоторые другие компоненты? Если так, то какой? Или я должен сделать kludge и сделать так, чтобы «клиент» опросил «сервер», чтобы узнать, хочет ли он что-нибудь сообщить?
Это очень маленькая система. Два клиента и десять серверов со всплеском одного шага каждые 30–60 секунд в течение нескольких минут один раз в день, поэтому накладные расходы на опрос несущественны.
Я просто вудер, если есть «правильный» путь.
Обновление: это действительно невероятно простая система. Очень мало трафика и все это просто. Все передачи являются указанием четного типа и необязательного отдельного параметра.
<event type> [ <parameter>]
например "HERE_IS_SOME_DATA 42"
Это может быть отправлено в обоих направлениях, но здесь нет «ответа» как такового. Просто отключить сообщение (и надеяться, что оно туда попало)? Получите Ack без данных? Отсутствие исключения означает, что сообщение было успешно отправлено?)
Можно ли (будет ли это излишним) использовать два TIdCmdTCPServer?