我们在
Windows上有一个启动java进程的C应用程序.这两个应用程序需要相互通信(通过xml的片段).
你会选择什么进程间通信方法,为什么?
我们的表上的方法是:共享文件,管道和套接字(虽然我认为这有一些安全问题).我对其他方法持开放态度.
我不确定为什么你认为基于
套接字的通信存在安全问题(使用SSL).它通常是一种非常好的
方法,因为它与语言无关,假设您有一个明确定义的通信协议.例如,看一下Google的
protocol buffers – 它们会
生成所需的Java类和流.
根据我的经验,文件系统(尤其是网络文件系统)不太适合这种通信,因为它们不一定用于消息传递(我已经看到缓存问题导致文件没有被目标进程拾取).
另一种选择是消息传递层(例如AMQ或Tibco),尽管这可能涉及更大的管理开销(加上专业知识)来设置.
就个人而言,我会选择纯插槽方法,因为它具有灵活性和简单性.你将完全掌控.