IPC между клиентскими приложениями .NET и Java - PullRequest
7 голосов
/ 25 ноября 2008

Мне нужно поговорить о двух разных клиентских приложениях без какого-либо посредника или сервера. Каков наилучший метод для IPC между двумя процессами, Java и .NET?

Он должен работать на многопользовательском сервере termainl, поэтому, пожалуйста, не используйте сокет. Я хотел бы, чтобы он был легким и простым, чтобы что-то подключалось и работало, поэтому, пожалуйста, не используйте RMI / WS.

Я сейчас думаю о JNI для доступа к каналам Mutex и Named, иду ли я в правильном направлении?

Любые идеи приветствуются!

Спасибо, Денис

Ответы [ 3 ]

7 голосов
/ 31 октября 2009

Я автор jni4net , внутрипроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на основе JNI и PInvoke. Код C / C ++ не требуется. Я надеюсь, что это поможет вам.

4 голосов
/ 25 ноября 2008

Вы можете получить доступ к WinAPI через JNI (Java) и PInvoke (C #). Используйте следующие функции WinAPI: Создать событие SetEvent WaitForSingleObject CreateMutex ReleaseMutex CreateFileMapping (для разделяемой памяти) MapViewOfFile UnmapViewOfFile

0 голосов
/ 25 ноября 2008

Я бы использовал protobuf .

Буферы протокола - это способ кодирования структурированных данных в эффективном, но расширяемом формате. Google использует буфер протоколов почти для всех своих внутренних протоколов RPC и форматов файлов.

...