Как процесс может транслировать данные локально

0

Я ищу какой-то существующий способ передачи данных локально (например, IPC, но несвязанным образом).

Необходимость: в настоящее время у меня есть программа вычислений, у которой нет HMI (и не будет), и я хотел бы, чтобы эта программа отправляла информацию о ее прогрессе, чтобы другой мог ее отобразить (например, в HMI). Но если нет другой программы, "прослушивание", то она не прерывается. И я хотел бы иметь минимальную логику, встроенную в программу вычислений.

Я нашел информацию о IPC, но, похоже, работает только в конфигурации клиент-сервер. Поэтому я определил, что мне нужно найти способ трансляции данных, и клиенты могут или не могут слушать эту трансляцию.

Как я могу это сделать?

EDIT: Я хотел бы или очень легкое решение (например, автономный набор для файлов.h (не более 5)) или даже способ сделать это самостоятельно: как я уже сказал, IPC кажется нормально, но он работает в подключенном путь. Например, 0MQ (http://zguide.zeromq.org/page:all#Getting-the-Message-Out) делает именно то, что мне нужно, но встраивается во многие функции.

  • 0
    Возможно, вам будет интересно взглянуть на ZeroMQ (в частности, шаблоны PUB / SUB).
  • 0
    Спасибо за этот ответ, ZeroMQ очень интересный, но в моем случае он слишком большой. Я бы, к примеру, упростил .h файл или даже сам способ сделать это.
Теги:
broadcast
communication
ipc

2 ответа

0
Лучший ответ

Пока что общая память (в UNIX), похоже, выполняет эту работу. Осталось несколько моментов, которые я еще не исследовал:

  • совместимость между ОС (это C++, и я хотел бы, чтобы она была построена на любой платформе без изменения кода)
  • Совместное использование сложных объектов с неопределенным размером во время компиляции.
  • Динамический размер => может быть очень сложным, чтобы иметь что-то эффективное.

Поэтому я все еще открыт и жду лучшего решения.

0

Вы можете попробовать использовать библиотеку MPI.

Взгляните на это

  • 0
    Большое спасибо, но, как ответили ранее, это слишком много по сравнению с моими потребностями и требует значительного влияния на то, как я хочу использовать свою программу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню