【发布时间】:2009-11-07 20:35:00
【问题描述】:
是否有可靠的跨平台方式在不依赖网络堆栈的 Java (J2SE) 中执行 IPC(在同一主机上运行的两个 JVM 之间)?
更具体地说,我有一个服务器应用程序,我想为其提供一个小型“监控”GUI 应用程序。监视器应用程序将简单地与服务器进程对话并显示简单的状态信息。服务器应用程序的大部分交互都有一个 Web 界面,但有时会出现需要本地控制应用程序的问题(端口冲突、用户忘记密码)。
过去,我通过让服务器在特定端口上侦听 127.0.01 并且客户端以这种方式进行通信来做到这一点。但是,这并不像我想要的那样可靠。某些事情会使这不起作用(Windows 的网络堆栈可能会因 VPN 适配器、MediaSense、笔记本电脑盖关闭/省电模式而变得奇怪)。当用户用来诊断服务器的工具甚至不认为服务器正在运行时,您可以想象用户的困惑。
命名管道似乎是合理的,但 Java 似乎没有针对它们的 API,除非我弄错了。想法?支持这个的第三方库?我的性能要求显然非常宽松,以防万一。
【问题讨论】: