什么是Java中最好的IPC方式?

17

我正在使用Netbeans开发两个单独的应用程序。

我需要在两个Jar之间进行通信,什么是最好的IPC通信方式。


4
"这要看情况" - 这两个应用程序是否在同一主机上运行?是否在同一个局域网内的不同主机上运行?是否在广域网上的不同主机上运行?你的有效载荷有多大? - Andreas Fester
2
请参阅https://dev59.com/ynVD5IYBdhLWcg3wNYxZ。 - Andreas Fester
1个回答

27

解决问题没有一种最佳方式,只有最适合你自己的方式。

当您有两个在不同主机上运行的独立进程时,需要通过网络套接字进行通信。 您可以使用现有的协议标准,例如SOAP。 当您确定这两个应用程序都永远不会重新编写为不同的编程语言时,还可以使用ObjectOutputStream和ObjectInputStream连接到网络套接字,并直接在两个程序之间交换Java对象。 或者,您可以从头开始设计适用于您的应用程序的自定义协议。

当进程在同一主机上运行时,通过网络进行通信通常仍然是一个好选择。 但是还有其他方法,例如通过编写和读取临时文件进行通信。 您也可以采用UNIX方式,让一个应用程序写入System.out并将其输出管道传输到另一个程序,后者使用System.in读取它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接