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).
views:
228answers:
3
+1
A:
I think you might be looking for the getInetAddress method of the Socket object.
Alex Shnayder
2009-12-03 15:05:18
That gives the local address of the socket. The server needs to find the remote address from its perspective.
Stephen C
2009-12-03 15:24:52
@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
2009-12-03 15:30:08
+2
A:
I believe you want to use the remote address instead:
csocket.getRemoteSocketAddress().toString();
jheddings
2009-12-03 15:08:10