1

我需要获取远程主机的 IP 地址。我尝试了以下并且工作正常:

socket = factory.createSocket(hostName, port);  
InetAddress remoteIP = socket.getInetAddress();
String[] remoteIPOnly = remoteIP.toString().split("\\/");
System.out.println("Remote IP is: "+remoteIPOnly[1]);

但是,我需要一种不必指定端口号的方法。即,尽管有端口号,我仍需要远程主机的 IP。这可能吗 ?是否可以在不从一开始就创建套接字的情况下获得 IP?

4

2 回答 2

2

尝试这个:

InetAddress inetAddress = InetAddress.getByName("www.google.com");
byte[] raw = inetAddress.getAddress();

字节数组现在包含 IP 地址字节。

于 2012-11-19T06:43:06.320 回答
0

使用getHostAddress()如下:

    InetAddress inetAddress = InetAddress.getByName("www.google.com");
    String ipAddress = inetAddress.getHostAddress();
    System.out.println(ipAddress );//prints 66.152.109.61
于 2012-11-19T06:56:19.390 回答