2

我使用著名且出色的Knock Knock 服务器教程作为学习 Java 网络的一种方式。我尝试使用 socket.getInetAddress() 找出已连接客户端的 IP 地址,但它总是返回我的路由器 192.168.1.254 的 IP,可能是因为连接在那里弹跳。有什么方法可以获取连接到 tcp 套接字的远程客户端的正确 ip?

4

1 回答 1

4

试试这个:

ServerSocket sSock;
Socket cSock;

sSock = new ServerSocket(port_number);
cSock = sSock.accept();
System.out.println(cSock.getRemoteSocketAddress()+" connected\n");

它将打印连接客户端的整个套接字地址,如下所示:

/127.0.0.1:1878 已连接

于 2012-04-24T03:46:15.197 回答