Как узнать IP-адрес клиента, подключенного к серверу? - PullRequest
25 голосов
/ 03 декабря 2009

Мой клиентский компьютер подключен как серверный компьютер через сокеты через Ethernet. Как найти IP-адрес этого клиента из кода на стороне сервера.
Сервер выдает по одному сокету на каждого клиента в новом потоке.
Когда я делаю csocket.getLocalAddress().toString() на клиентском сокете, я все еще получаю IP-адрес сервера. (csocket - это сокет, который Сервер породил при подключении к клиенту и передал его в новый поток).

Ответы [ 4 ]

50 голосов
/ 03 декабря 2009

Полагаю, вы хотите использовать удаленный адрес вместо:

csocket.getRemoteSocketAddress().toString();
12 голосов
/ 03 декабря 2009

Я думаю, вы, возможно, ищете метод getInetAddress объекта Socket .

4 голосов
/ 03 декабря 2009

Вместо этого используйте getRemoteSocketAddress().

2 голосов
/ 08 июня 2016

Используйте этот код:

String ip=(((InetSocketAddress) socket.getRemoteSocketAddress()).getAddress()).toString().replace("/","");
...