43 votes

Sockets - Comment connaître le port et l'adresse qui m'ont été attribués

J'ai du mal à comprendre cela - je travaille avec des sockets en C en utilisant ce guide - http://binarii.com/files/papers/c_sockets.txt

J'essaie d'obtenir automatiquement mon adresse IP et mon port en utilisant :

 server.sin_port = 0;              /* bind() will choose a random port*/
server.sin_addr.s_addr = INADDR_ANY;  /* puts server's IP automatically */
...
...
bind(int fd, struct sockaddr *my_addr,int addrlen); // Bind function

Après une liaison réussie, comment puis-je savoir quelle IP et quel port m'ont réellement été attribués ?

6voto

EJP Points 113412

Le commentaire dans votre code est faux. INADDR_ANY ne met pas l'IP du serveur automatiquement'. Il met essentiellement 0.0.0.0 , pour les raisons expliquées dans la réponse de mark4o .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X