java获取计算机ip时,显示为0.0.0.0
所以我有这个密码
server = new ServerSocket(6789, 100);
showMessage("Your IP is: "+server.getInetAddress().getHostAddress()+"\n");
我也试过了。getInetAddress()。getCanonicalHostName()和其他一些,它们都显示0.0.0.0或0.0.0.0/0.0.0.0。 有人知道为什么会这样吗? 此外,当客户端连接到正确的ip时,它工作正常,只是显示错误
# 1 楼答案
我认为你可以使用这些方法中的one
如果您有多个接口,您可能更喜欢使用此one-
# 2 楼答案
0.0.0.0
意味着它绑定到所有适配器,而不仅仅是像localhost
或网卡这样的适配器之一# 3 楼答案
彼得说的。如果您想了解特定的本地接口,请查看java。网NetworkInterface静态方法,并从中获取特定的InetAddress。然后,如果只想使用特定的本地接口,可以将InetAddress传递给ServerSocket构造函数