web-dev-qa-db-fra.com

Comment trouver l'adresse IP du client connecté au serveur?

Mon PC client est connecté en tant que PC serveur via des sockets sur Ethernet, comment puis-je trouver l'IP de ce client à partir du code côté serveur.
Le serveur distribue un socket par client dans un nouveau thread.
Quand je fais une csocket.getLocalAddress().toString() sur le socket client, j'obtiens toujours l'adresse IP du serveur. (csocket est le socket que le serveur a généré sur une connexion maintenant cliente et l'a passée à un nouveau thread).

25
Kevin Boyd

Je pense que vous souhaitez utiliser la adresse distante à la place:

csocket.getRemoteSocketAddress().toString();
50
jheddings

Je pense que vous cherchez peut-être la méthode getInetAddress de l'objet Socket .

12
Alex Shnayder

Utilisez plutôt getRemoteSocketAddress() .

4
erickson

Utilisez ce code:

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