gpt4 book ai didi

java - Java 中每个用户的单个应用程序实例

转载 作者:行者123 更新时间:2023-11-29 05:09:38 25 4
gpt4 key购买 nike

我在 Swing 中创建了应用程序,我只想运行它的一个实例。我写了这样的东西:

private static final int PORT = 12345;
{
try {
new ServerSocket(PORT, 10, InetAddress.getLocalHost());
} catch (UnknownHostException e) {
// shouldn't happen for localhost
} catch (IOException e) {
// port taken, so app is already running
System.out.println("Application already exist");
System.exit(0);
}
}

它适用于所有系统。因此,如果一个用户运行它,则另一个用户不能同时使用它。所以我希望每个用户只能运行该应用程序的一个实例。你知道我该怎么做吗?

最佳答案

对于每个用户,将端口号存储为首选项。首选项将与用户帐户相关联。用户第一次运行该应用程序时,首选项将不存在——随机生成一个端口号并为该用户存储它。此后每次,当用户启动应用程序时,读取他们的端口首选项。

由于每个用户会使用不同的端口,因此每个用户实例不会相互干扰——但每个用户将被限制在一个实例中。

关于java - Java 中每个用户的单个应用程序实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29103354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com