java - 如何使用Java获取远程主机的IP地址

标签 java sockets network-programming

我需要获取远程主机的 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?

最佳答案

试试这个:

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

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

关于java - 如何使用Java获取远程主机的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13448790/

相关文章:

c# - UDP DatagramSocket的正确使用

python - Python屏幕共享

c - 不知道如何在子网 UDP 套接字 c 中获取服务器地址

c++ - 在不同线程中启动服务器和 IHM

c - 如何测试 SOCK_CLOEXEC/O_CLOEXEC 的功能(执行时关闭)

java - 尝试连接 cassandra 时出错

java - 在java中使用jsoup

java - 摆脱 javafx.scene.control.TextField 上的重复边框

java - 使用 Java 模拟杂货店排队队列

python - 在Python中终止线程中的socket.recv