minet03
Messages postés415Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention 2 décembre 2005
-
15 nov. 2004 à 19:57
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 2009
-
5 févr. 2005 à 16:15
Coucou, je voulais savoir comment on fesait pour afficher les renseignements du client connecté sur le serveur. J'ai essayé la fonction getpeername() mais je ne sais pas comment ça marche, et MSND ne m'aide pas vraiment. Donc si qqu connai l'astuce !
merci
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20124 15 nov. 2004 à 20:16
Salut,
Pour avoir l'adresse du client il faut passer une structure sockaddr_in vide en 2eme param a accept(...). Une fois que le client est connecté la structure contient l'adresse du client.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20124 15 nov. 2004 à 21:44
Salut,
Ah oui il doit falloir convertir le port avec ntohs(...) car les bytes ne sont pas dans le bon ordre (a verifier..).
Sinon le port est un unsigned, donc ca s'affiche avec %u.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20093 5 févr. 2005 à 16:15
Aardman je t'explique pourquoi j'ai mis le code.
C'est à cause de cette ligne :
int Taille = sizeof(Distant);
Elle peut paraître anodine mais visiblement elle est essentielle, parce que c'est à cause de ça que ça ne fonctionnait pas chez moi.
Je mettais NULL dans le dernier argument de accept(...).
Et comme j'ai galéré juste à cause de ça, j'ai préféré précisé pour être plus clair, comme vous n'en aviez pas parlé précédemment (du 3ème argument de accept(...)).
Voilà , c'était juste pour ça.