Я предлагаю использовать протокол UDP и добавлять информацию о метках времени к вашим данным и отслеживать входящие данные на принимающей стороне.Вы можете использовать компоненты UDP-сервера (TIdUDPServer) и клиента (TIdUDPClient) из Indy или других пакетов.Клиентский компонент для отправки данных и сервер для приема.
Лично я обычно предпочитаю Synapse -классы .Они более низкого уровня, чем Indy, поэтому легче узнать, что происходит, но с другой стороны, вам может понадобиться реализовать что-то самостоятельно, что Indy может предоставить по умолчанию.
Обновление
Реализация довольно проста:
Отправка данных:
Удалите TIdUDPClient на форму.Установите «Host» в качестве имени или IP-адреса принимающей стороны (или «localhost», если вы запускаете свои программы на одном компьютере) и в качестве порта введите большое число, где сервер прослушивает, например, 54656.
Добавьте следующий код для кнопкиили событие таймера:
IdUDPClient1.Send('Hello, world!');
Получение данных:
Удалите компонент TIdUDPServer в форму.Установите порт по умолчанию на тот же порт, что и при отправке приложения.Добавьте обработчик события OnUDPRead с кодом:
MessageDlg('Received: ' + StringOf(AData), mtInformation, [mbOk], 0);
И диалоговое окно нового сообщения появляется при каждом получении нового сообщения.
Обновление 2
UDPне подходит для изображений, если вы хотите быть уверенными, что они останутся не поврежденными, если только изображение не очень маленькое и не помещается в один пакет.