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 :
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);
Et plus précisément :
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);
Mais l'adresse affichée est 0.0.0.0

Je ne vois pas où se trouve mon erreur, pourriez-vous m'aider svp ?

Merci !