Java中的getHostAddress()和getInetAddress()

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

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

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

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

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

因此,最终得到一个可以打印的String ,就是这样做的。

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

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

除了Brian Roachs的回答:

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

  • Socket.getInetAddress()
  • InetAddress.getHostAddress()