#1 Le 10/04/2007, à 15:40
- Rodriguez
[Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
Bonjour,
je suis en train d'écrire un programme client/Serveur.
Dans le main de la classe Client, j'ai :
Dernière modification par Rodriguez (Le 11/04/2007, à 22:17)
Hors ligne
#2 Le 10/04/2007, à 15:48
- Nicolas2b
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
Désolé, je ne répond pas à ta question, mais pourquoi as tu besoin de l'adresse IP du client ?
J'ai aussi fait un serveur en Java, et tout ce que je voulais envoyer au client, je le mettais ds les flux que l'on récupere avec le socket :
public InputStream getInputStream() throws IOException
public OutputStream getOutputStream() throws IOException
Nicolas.
PS : je me trompe peut être sur l'utilisation que tu veux faire de ton programme.
Le mien était un serveur HTTP.
Dernière modification par Nicolas2b (Le 10/04/2007, à 15:49)
Ubuntu Gutsy sur ASUS A6JA Q016H
2 Go de RAM
ATI X1600
Core Duo 1,8 GHz
Hors ligne
#3 Le 10/04/2007, à 16:07
- Rodriguez
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
Parce que je suis en train de coder un p2p.
J'ai besoin de savoir les clients à contacter pour récupérer les fichiers souhaités.
Hors ligne
#4 Le 10/04/2007, à 16:41
- Nicolas2b
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
D'accord, donc mon idéé n'etait pas correcte.
Désolé
Ubuntu Gutsy sur ASUS A6JA Q016H
2 Go de RAM
ATI X1600
Core Duo 1,8 GHz
Hors ligne
#5 Le 10/04/2007, à 16:42
- ePi
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
salut,
essaye un
client_socket.getInetAddress()
ou
client_socket.getRemoteSocketAddress()
sinon une petite remarque, d'après ton code tu lances un thread pour chaque connection avec un client. Pour de meilleurs perf il plutôt conseillé de créer une seule socket pour tout le monde et d'utiliser ensuite select() pour savoir si tu reçois des données sur ta socket (et de quel client).
[edit] ca te fera donc un seul thread pour tes X clients [/edit]
Dernière modification par ePi (Le 10/04/2007, à 16:47)
Hors ligne
#6 Le 10/04/2007, à 16:55
- DoK
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
essaie :
request.getHeader("X-Forwarded-For") == null ? request.getRemoteAddr() : request.getHeader("X-Forwarded-For")
Hors ligne
#7 Le 10/04/2007, à 17:28
- Rodriguez
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
salut,
essaye un
client_socket.getInetAddress() ou client_socket.getRemoteSocketAddress()
sinon une petite remarque, d'après ton code tu lances un thread pour chaque connection avec un client. Pour de meilleurs perf il plutôt conseillé de créer une seule socket pour tout le monde et d'utiliser ensuite select() pour savoir si tu reçois des données sur ta socket (et de quel client).
[edit] ca te fera donc un seul thread pour tes X clients [/edit]
Ca ne fonctionne pas.
Hors ligne
#8 Le 10/04/2007, à 19:05
- ePi
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
pourrais tu afficher ce que te donne un System.out.println(getInetAddress()) stp ?
Hors ligne
#9 Le 11/04/2007, à 10:18
- Rodriguez
Re : [Java]Comment obtenir l'adresse ip d'un client ?[Résolu]
Salut,
en faite tu avais raison. J'obtenais la même ip car je faisais ça en local c'est pour ça que le client et le serveur avaient la même ip.
Hors ligne