Java中的getHostAddress()和getInetAddress()

5 java sockets

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

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

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

Bri*_*ach 13

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

InetAddress.getHostAddress()返回具有String该地址的文本表示的对象.

所以,最终得到一个String你可以打印,这就是你如何做到这一点.

编辑:如果您不熟悉,这称为"方法链接".这跟说:

InetAddress addy = socket.getInetAddress();
String remoteIp = addy.getHostAddress();
Run Code Online (Sandbox Code Playgroud)