有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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时,它工作正常,只是显示错误


共 (3) 个答案

  1. # 1 楼答案

    我认为你可以使用这些方法中的one

    InetAddress.getLocalHost().getHostAddress()
    

    如果您有多个接口,您可能更喜欢使用此one-

    NetworkInterface.getNetworkInterfaces()
    
  2. # 2 楼答案

    0.0.0.0意味着它绑定到所有适配器,而不仅仅是像localhost或网卡这样的适配器之一

  3. # 3 楼答案

    彼得说的。如果您想了解特定的本地接口,请查看java。网NetworkInterface静态方法,并从中获取特定的InetAddress。然后,如果只想使用特定的本地接口,可以将InetAddress传递给ServerSocket构造函数