如何将 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 的配置中。
所以我通过正确配置来解决它
如标题所述,我如何将 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 的配置中。 所以我通过正确配置来解决它