cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 10 nov. 2003 à 18:08
Salut,
taille doit etre a sizeof(sockaddr) avant d'appeller getpeername(...).
Sinon met un WSAGetLastError() juste apres l'erreur histoire d'etre plus renseigné.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 10 nov. 2003 à 18:40
Salut,
Erreur 10057: WSAENOTCONN
"Une requête d'envoi ou de réception de données n'a pas été autorisée car le socket n'est pas connecté et (lors de l'envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n'a été fournie."
Bien evidement si ton socket n'est pas connecté tu n'aura jamais l'ip de la machine distance.. puisqu'elle n'est pas connectée.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 10 nov. 2003 à 18:47
Salut,
Client ou Serveur peut importe, a partir d'un socket connecté getpeername te donne l'ip et le port de la machine distante, c'est tout.
C'est quoi exactement que tu veux faire ? (précisement)
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 10 nov. 2003 à 18:55
Salut,
Heuresement que j'ai dit "précisement" :p
Tu est le serveur donc.
Il faut placer getpeername(...) apres accept(...), cad une fois que le socket est connecté.
Autre methode: accept(...) rempli aussi une structure sockaddr avec l'ip et le port du client qui vient de se connecter. Ca serait ptet plus simple de prendre les infos ici.
Si ca va toujours pas, met tout le code, ou alors essaye d'etre plus precis.