当应用程序运行并且GUI被隐藏然后再次启动相同的应用程序时注意到这一点并且告诉已经运行的应用程序显示GUI

时间:2011-11-22 20:13:12

标签: java ipc

我想要的只是在已启动的应用程序上显示GUI。我有file.lock到位单实例样式应用程序。我想要一些轻量级而不是IPC或javaspace。

正在考虑使用Server.accept()来ping已经启动的应用程序并使其执行setVisible(true)但如果端口正在使用中,这可能会导致问题。如果采用第一个端口,可以设置一个端口号表/算法,但这又是一个坏主意。

您的想法,有哪些替代方案?

1 个答案:

答案 0 :(得分:1)

听一个端口可能是最好的方法 - 至少是最可靠的方式。另一个选择是写出一个文件并查找它,但这会导致计算机崩溃并且文件未被删除时出现问题。

如果无法绑定到端口,则可能表示服务器正在运行。

如果您想要恢复,请发送消息并期望在端口上返回特定响应。如果您无法绑定到端口并且没有从端口获得响应,那么它可能不是您,因此请提示用户“此应用程序是否已在运行”对话框。