如何查找连接到服务器的客户端的IP地址?

Kev*_*oyd 26 java sockets ip-address

我的客户端PC通过以太网上的套接字连接到服务器pc,如何从服务器端代码中找到该客户端的IP.
服务器在新线程中为每个客户端丢弃一个套接字.
当我csocket.getLocalAddress().toString()在客户端套接字上执行a 时,我仍然获得服务器IP地址.(csocket是服务器在现在客户端连接上生成并将其传递给新线程的套接字).

jhe*_*ngs 51

我相信你想要使用远程地址:

csocket.getRemoteSocketAddress().toString();
Run Code Online (Sandbox Code Playgroud)


Ale*_*der 13

我想你可能正在寻找Socket对象的getInetAddress方法.

  • @Stephen:根据Javadoc,`getInetAddress()`"返回此套接字连接的远程IP地址,如果套接字未连接,则返回null." (11认同)

Ahm*_*deh 5

使用此代码:

String ip=(((InetSocketAddress) socket.getRemoteSocketAddress()).getAddress()).toString().replace("/","");
Run Code Online (Sandbox Code Playgroud)