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).
Je pense que vous souhaitez utiliser la adresse distante à la place:
csocket.getRemoteSocketAddress().toString();
Je pense que vous cherchez peut-être la méthode getInetAddress de l'objet Socket .
Utilisez plutôt getRemoteSocketAddress()
.
Utilisez ce code:
String ip=(((InetSocketAddress) socket.getRemoteSocketAddress()).getAddress()).toString().replace("/","");