Как реализовать 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, и я не знаю, как общаться друг с другом.
Пожалуйста, помогите мне, как общаться с помощью трубы в этом случае.