Bonjour,
Je m'autoforme sur le réseau en C, et je souhaite récupérer l'adresser IP du serveur (dans le code du serveur) et l'afficher.
Voici ce que je fais :
Et plus précisément :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 int client_socket; struct sockaddr_in mon_address, client_address; socklen_t mon_address_longueur; bzero(&mon_address, sizeof(mon_address)); mon_address.sin_port = htons(30000); mon_address.sin_family = AF_INET; mon_address.sin_addr.s_addr = htonl(INADDR_ANY); //création de socket if((ma_socket=socket(AF_INET, SOCK_STREAM, 0)) == -1){ printf("La création a raté"); exit(0); } //Association de l'adresse locale de protocole à la socket bind(ma_socket, (struct sockaddr*)&mon_address, sizeof(mon_address)); //Ecoute sur la socket listen(ma_socket, 5); char *some_addr; some_addr = inet_ntoa(mon_address.sin_addr); // return the IP printf("%s\n", some_addr);
Mais l'adresse affichée est 0.0.0.0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char *some_addr; some_addr = inet_ntoa(mon_address.sin_addr); // return the IP printf("%s\n", some_addr);
Je ne vois pas où se trouve mon erreur, pourriez-vous m'aider svp ?
Merci !
Partager