Take the 2-minute tour ×

My client pc is connected to as server pc via sockets over Ethernet, How do I find the IP of this client from the server side code.
The server is dishing out one socket per client in a new Thread.
When I do a csocket.getLocalAddress().toString() on the client socket I still get the Server IP address. (csocket is the socket that the Server has spawned upon a now client connection and passed it to a new Thread).

share|improve this question

3 Answers 3

up vote 23 down vote accepted

I believe you want to use the remote address instead:

share|improve this answer
How Get client ip from HttpServer object? see here: stackoverflow.com/questions/25274828/… –  user3808021 Aug 12 at 22:05

I think you might be looking for the getInetAddress method of the Socket object.

share|improve this answer
That gives the local address of the socket. The server needs to find the remote address from its perspective. –  Stephen C Dec 3 '09 at 15:24
@Stephen: according to the Javadoc, getInetAddress() "returns the remote IP address to which this socket is connected, or null if the socket is not connected." –  erickson Dec 3 '09 at 15:30

Use getRemoteSocketAddress() instead.

share|improve this answer

Your Answer


