powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Обмен данными между программами
9 сообщений из 9, страница 1 из 1
Обмен данными между программами
    #38807119
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги,

день добрый. Подскажите, плиз, как решать такую задачу. Есть две программы на С++. Работают одновременно. Каждая из них что-то делает с данными. Как реализовать функционал по прямому обмену данными между ними (т.е. без промежуточных файлов и т.п.)? Вопрос синхронизации – не стоит. Просто обмен данными.

Спасибо
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807130
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InterProcess Communication это называется и может осуществляться кучей различных способов
от посылки Windows Messages до использования TCP/IP (UDP).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807754
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

спасибо, посмотрел. А когда какая-то программа предоставляет API, это делается через InterProcess Communication?
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38807771
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть разные способы "предоставить API".
Можно экспортировать нужные функции, можно реализовать сервис для общения через IPC.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808343
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Windows, можно попытаться на COM Automation посмотреть.

вообще, тема не очень раскрыта. Если Вы их сами пишете, то зачем две программы? почему просто не DLL?

Когда мне нужно было отдельным процессом кусок кода запустить, то я банально через стандартный ввод-вывод обменивался. Главный процесс писал в стандартный ввод порожденного процесса, соответственно порожденный писал в стандартный вывод, а главный оттуда читал. Пара десятков строк кода стыренных из MSDN, просто, дешево и отлаживать легко.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808432
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70, эту задачу можно решать десятком способов. Сокеты, файлы, маилслоты, pipes, разделяемая память, и даже клипборд
и реестры. Вся разница в 1) скорости как это закодить 2) в сложности 3) в пропускной способности канала
который получится по факту.

Вобщем дальше без ТЗ говорить безсмысленно. Философия пойдет.
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808461
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70,

В Qt для этого есть подходящий класс QSharedMemory
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808537
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё бы ничего, то топикстартеру нужно решить ту же задачу и для c#

голосую за shared memory
...
Рейтинг: 0 / 0
Обмен данными между программами
    #38808560
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилвсё бы ничего, то топикстартеру нужно решить ту же задачу и для c#
...

ZeroMQ

Пример сервера на C: http://zguide.zeromq.org/page:all#Ask-and-Ye-Shall-Receive

Пример клиента на С++, http://zguide.zeromq.org/cpp:hwclient
Пример клиента на C#: http://zguide.zeromq.org/cs:hwclient
...

C++: http://zeromq.org/bindings:cpp (ну или просто C, используя CZMQ: http://czmq.zeromq.org/)
C#: http://zeromq.org/bindings:clr

Обмен данными единым образом внутри процесса, между потоками, между процессами, между разными компьютерами сети.
Протоколы: tcp, iproc, ipc, multicast, ...
OS'es: Windows, Linux, Android, ...

Биндинг: питон, ява, сишарп, пхп, дельфи, и еще куча языков
Масса режимов: запрос/ответ, издатель/подписчик, запрос/маршрутизатор, эксклюзивная пара... ... ...

Не требует выделенного процесса. Быстрая. Компактная. Бесплатная. Развивается.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Обмен данными между программами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]