我正在创建TCP套接字应用程序。在服务器端,
ss = new ServerSocket(10000);
Socket socket = ss.accept();
String remoteIp = socket.getInetAddress().getHostAddress();
String RemotePort = ":"+socket.getLocalPort();
我对最后两行有点困惑,getInetAddress()用于返回socket连接的地址,即主机的地址?然后我们为什么需要一个getHostAddress()?
答案 0 :(得分:12)
socket.getInetAddress()
返回包含远程计算机IP地址的InetAddress
对象。
InetAddress.getHostAddress()
返回一个String
对象,其中包含该地址的文本表示。
所以,最终你可以打印一个String
,这就是你的表现。
编辑:如果您不熟悉,则称为“方法链接”。这跟说的一样:
InetAddress addy = socket.getInetAddress();
String remoteIp = addy.getHostAddress();
答案 1 :(得分:0)
除了Brian Roachs的回答:
您还可以查看Java API以查找类,方法和字段的说明: