pfff, tout me fait chier en ce moment et pas envie d'expliquer pourquoi ton code veut rien dire, mais bon vais tenter : tu as une socket que tu 'bind' a une adresse locale, ici affectée INADDR_ANY, qui est égale a 0x00000000, alors forcément l'appel a inet_ntoa te renvoie 0.0.0.0.
en gros INADDR_ANY est fait pour écouter sur une machine sans se soucier de ses adresses ip.
un bout de la solution :
Code :
- char name[256];
- gethostname(name, 256);
- hostent *host = gethostbyname(name);
|
après demerde toi pour récuperer toutes tes ip, elles sont quelquepart dans host->h_addr_list.