В проекте у меня есть одно мастер-приложение (С#), которое управляет несколькими дочерними приложениями.
Эти дочерние приложения будут записаны в С#, Java, C++ и python. И, что усложняет работу, могут быть несколько экземпляров одних и тех же дочерних приложений.
Это можно проиллюстрировать следующим образом:
Прямо сейчас я думал о NamedPipes
, но это не будет работать с несколькими экземплярами, потому что они все будут слушать один и тот же канал (на данный момент у меня нет способа сообщить дочернему процессу, который использовать пин-код).
Есть ли простой и легкий способ односторонней связи, которая не зависит от платформы (или, по крайней мере, доступна на упомянутых выше языках)?
Вы можете использовать сокеты, которые в значительной степени зависят от языка, и даже отлично работают, если вы решите переместить свой процесс на другую машину.
Вы также можете взглянуть на ZeroMQ
Как насчет обычного подхода Client/Server? Вы можете сами выбрать (или реализовать) протокол в зависимости от ваших требований.