forest-321 Ответов: 0

Как реализовать IPC между процессом cygwin и процессом mfc?


Всем привет!
В windows есть 2 приложения: приложение, скомпилированное с помощью под Cygwin, ля МФЦ приложение.
Как общаться между двумя процессами?
Здесь основным процессом является приложение MFC, а подпроцессом-приложение, скомпилированное с помощью cygwin.
Спасибо.

Что я уже пробовал:

Я не могу использовать PostMessage, pipe, общую память.

Jochen Arndt

Как насчет сетевого подключения с помощью localhost?

forest-321

Есть ли какой-нибудь способ связи между mfc и cygwin с помощью pipe?
Потому что субприложение уже имеет сетевые коммуникационные модули.

Jochen Arndt

Это утверждение не имеет смысла, потому что приложение может использовать несколько сетевых подключений в качестве сервера или клиента, и вы заявили, что каналы не могут быть использованы.

Должно быть, можно использовать трубы, но на самом деле я не знаю, как это сделать.

forest-321

Спасибо за ответ.
Я согласен с вашим предложением по сетевому общению.
Я думаю, что именованные каналы недоступны, потому что файловые системы, на которых основаны эти два приложения, различны.
В случае труб:
Каналы создаются с помощью функции fork () в LINUX и функции CreatePipe () в windows, и я не знаю, как общаться друг с другом.

Jochen Arndt

При использовании cygwin в Windows он перенаправит операции в Windows API (то есть, например, pipe() должен, наконец, вызвать CreatePipe()).

fork () не имеет отношения к трубопроводу. Он может быть использован для" разделения " процесса на две части, которые обрабатывают различные операции, такие как чтение и запись из/в канал. Но общим методом было бы использование потоков вместо этого.

forest-321

Спасибо за ответ.
Я согласен на ваше предложение использовать сетевую связь.
Я думаю, что именованные каналы не могут быть использованы, потому что файловые системы, на которых основаны эти два приложения, различны.
В случае труб:
Каналы создаются с помощью функции fork () в linux и функции CreatePipe () в windows, и я не знаю, как общаться друг с другом.
Пожалуйста, помогите мне, как общаться с помощью трубы в этом случае.

0 Ответов