Так это обычные проблемы серверов и клиентов. По факту
происходящего в данном случае требуется сервер порта,
к которому
будут коннектится клиенты, желающие транзакций.
Чтобы все клиенты
были равноправными, напишем отдельный сервер.
Это может быть
служба, а может и нет.
- Напишем приложение "как GUI", но окна
создавать не будем,
цикл сообщений не запустим. Это проще, чем
служба.
Получим "приложение-без-окон-без-ввода".
Если оно упадёт,
конечно всё закончится.
Однако, в приложениях-клиентах мы предусмотрим
алгоритм перезапуска сервера, если он не найден.
Так можно пытаться преодолеть сбой автоматически.