我必须在没有任何代理或服务器的情况下获得两个不同的客户端应用程序对话。在 Java 和 .NET 这两个进程之间进行 IPC 的最佳方法是什么?
它必须能够在多用户终端服务器上工作,所以请不要使用套接字。我希望它是轻量级和简单的,即插即用的,所以请不要使用 RMI/WS。
我现在正在考虑使用 JNI 来访问互斥体和命名管道,我会朝着正确的方向前进吗?
欢迎任何想法!
谢谢丹尼斯
我是jni4net的作者,它是 JVM 和 CLR 之间的开源进程内桥梁。它建立在 JNI 和 PInvoke 之上。无需 C/C++ 代码。我希望它会帮助你。
您可以通过 JNI(Java) 和 PInvoke(C#) 访问 WinAPI。使用以下 WinAPI 函数: CreateEvent SetEvent WaitForSingleObject CreateMutex ReleaseMutex CreateFileMapping(用于共享内存) MapViewOfFile UnmapViewOfFile
我会使用protobuf。
协议缓冲区是一种以高效且可扩展的格式对结构化数据进行编码的方法。Google 几乎所有内部 RPC 协议和文件格式都使用协议缓冲区。