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

标签 java ipc

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

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

您认为什么是替代方案?

最佳答案

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

如果您无法绑定(bind)到该端口,则仅此一项就可能表明服务器正在运行。

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

关于java 当应用程序正在运行并且 GUI 被隐藏时,然后再次启动同一个应用程序,注意到这一点并告诉已经正在运行的应用程序显示 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233169/

相关文章:

c - mq_send 中的发送结构

java - 文件不存在但说它存在?

java - Java中的已用和空闲内存

c - 同步访问两个进程之间共享内存中的数据

c++ - boost find in shared-memory方法卡在c++多进程项目中

windows - Windows 中的进程间同步屏障

c++ - 多线程和标准输出的性能问题

java.lang.IllegalArgumentException : error Type referred to is not an annotation type 异常

java - 处理对 dll 函数的多重访问

java - 我有一个用于生成特定长度的字符串排列的代码,它不适用于 abcdefghijklmnopqrstuvwxyz 和 7 的输入