避免在本地主机上使用套接字的Windows防火墙弹出窗口

我编写了一个简单的Java应用程序,它使用套接字与自身的多个实例进行交互。第一个实例自动承担服务器的角色,侦听特定端口,所有后续实例都连接到该端口。

我面临的问题是Windows防火墙弹出,询问我是否要取消阻止程序“接受传入的网络连接”。问题是:是否阻止应用程序并不重要,因为应用程序的实例始终位于同一台计算机上,因此它将始终有效。

我能否以某种方式通知 Windows 我甚至不希望接受传入的网络连接?


答案 1

使用 ServerSocket 类的三个参数构造函数指定它应侦听的服务器的 IP 地址。这样,您就可以将服务器限制为仅在 127.0.0.1 上侦听,这与默认值 0.0.0.0 不同。有关更多详细信息,请参阅此相关的堆栈溢出问题

最好使用来获取本地地址。InetAddress.getByName(null)


答案 2

推荐