Java中的getHostAddress()和getInetAddress()

时间:2011-04-22 17:03:15

标签: java sockets

我正在创建TCP套接字应用程序。在服务器端,

ss = new ServerSocket(10000);
Socket socket = ss.accept();
String remoteIp = socket.getInetAddress().getHostAddress();
String RemotePort = ":"+socket.getLocalPort();

我对最后两行有点困惑,getInetAddress()用于返回socket连接的地址,即主机的地址?然后我们为什么需要一个getHostAddress()?

2 个答案:

答案 0 :(得分:12)

socket.getInetAddress()返回包含远程计算机IP地址的InetAddress对象。

InetAddress.getHostAddress()返回一个String对象,其中包含该地址的文本表示。

所以,最终你可以打印一个String,这就是你的表现。

编辑:如果您不熟悉,则称为“方法链接”。这跟说的一样:

InetAddress addy = socket.getInetAddress();
String remoteIp = addy.getHostAddress();

答案 1 :(得分:0)

除了Brian Roachs的回答:

您还可以查看Java API以查找类,方法和字段的说明: