Récupérer l'adresse IP du client qui se connecte à mon serveur

HolyDev Messages postés 40 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 5 février 2008 - 6 mai 2004 à 11:55
HolyDev Messages postés 40 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 5 février 2008 - 7 mai 2004 à 16:30
Bonjour, bon alor j'utilise <winsock2.h> et VS C++
Lorsqu'un client se connecte à mon serveur j'aimerai afficher l'adresse IP de celui-ci après le message FD_ACCEPT
Comment c possible ?

VB is my cup of tea !!! ;) mais là je fai du C

5 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
6 mai 2004 à 15:15
Salut,
Regarde du coté de la fonction getpeername(...).
Voici un post qui en parle.
http://www.cppfrance.com/forum.v2.aspx?ID=157069

Le plus simple reste tout de meme de te servir de ta structure sock_addr_in.

Samir
0
HolyDev Messages postés 40 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 5 février 2008
6 mai 2004 à 17:13
Ok Ok...Alor je fai ca :

sockaddr clientAddr;
addrlen=sizeof(clientAddr);

//On accepte les demandes de connexions et 
//on récupère l'@ IP du client
socketAccept = accept(socketServeur,&clientAddr,&addrlen);


Comment je fai pour récupérer l'@ IP dans clientAddr
Si tu pouvais m'expliquer la relation entre une structure sockaddr_in et sockaddr

VB is my cup of tea !!! ;)
PS:tu reconnaitra un p'tit bout de code à toi...
0
HolyDev Messages postés 40 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 5 février 2008
6 mai 2004 à 17:33
Bah c comme ca :

sockaddr_in clientAddr;
addrlen=sizeof(clientAddr);

//On accepte les demandes de connexions et 
//on récupère l'@ IP du client
socketAccept = accept(socketServeur[NbClients],
                               (struct sockaddr *)clientAddr,
                               &addrlen);

//et on affiche l'@ IP du client
MessageBox(0, inet_ntoa(clientAddr.sin_addr), "IP client", 0);


VB is my cup of tea !!! ;)
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
6 mai 2004 à 18:50
Bah voila t'as trouvé tout seul ;)
No souci pour le code client/serveur ... Au contraire ca me fait plaisirs de savoir que mon code peux servir a d'autres ;)
Bonne prog et a++
Si t'as un souci n'hesites pas ...

Samir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HolyDev Messages postés 40 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 5 février 2008
7 mai 2004 à 16:30
Alors j'hésite pas...

Tjs av ton code j'ai mis en place la possibilité de connecter plusieurs clients au serveur.
Le 1er client ki se connect no problemo
Le 2ème aussi koi ke des fois ca fait une erreur dès celui-ci
Le 3ème ne passe jamais

J'ai une erreur de type WSAEWOULDBLOCK au moment de la fonction accept.
Comment faire sachant ke c pas 3 clients kil me faut mais bien 100...

VB is my cup of tea !!! ;)
0
Rejoignez-nous