如何将 java 侦听接口从本地主机更改为 IP 地址?

how to change java listening interface from localhost to IP address?

如标题所述,我如何将 java 侦听接口从本地主机更改为 IP 地址。 因为此命令 netstat -tulpn 显示:

tcp     0      0 127.0.0.1:7778     0.0.0.0:*     LISTEN      23958/java

我想在不使用套接字的情况下将 127.0.0.1 更改为 192.168.1.1,例如在 java 配置文件或 jade 文件中指定它。

我想这样做是为了使该端口可以访问,以允许移动代理从远程机器迁移到这台机器。

如果使用 ServerSocket,则必须使用 three-argument constructor;第三个参数就是这个套接字的监听地址。

类似的 constructors/factory 方法存在于 ServerSocketChannel 等等

要使 loopback/localhost 地址以外的地址具有侦听器,必须有可用的网络接口来侦听。如果你的机器上没有额外的网络适配器,我不知道你将如何完成你的任务。

如果您有额外的网络适配器,请使用 NetworkInterface.getNetworkInterfaces() 获取机器必须提供的所有可用适配器,并选择您要将侦听器设置到的适配器。

这个 SO 线程应该会让您对获取可用的网络适配器有一些了解。 How to enumerate IP addresses of all enabled NIC cards from Java?

如果您想使用本地主机作为侦听器,因为本地计算机上有需要与您的服务器通信的应用程序,为什么不适合使用环回地址?

问题出在我 /etc/hosts 的配置中。 所以我通过正确配置来解决它