Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
lsd dummy mioche

Inscrit le: 30 Jan 2003 Messages: 1
|
Posté le: Jeu Jan 30, 2003 3:36 pm Sujet du message: prog reseau en C sous Linux |
|
|
Je veux récupérer mon ip dans un programme en C. Or la fonction gethostbyname() me renvoie 2 ip qui ne correspondent pas à celle retournée lors du démarrage du driver de mon modem. Quelqu'un a une solution ? Faut-il passer par sysctl ?
Merci d'avance !  |
|
Revenir en haut |
|
 |
Petey dummy mioche

Inscrit le: 15 Avr 2004 Messages: 5 Localisation: Region Parisienne
|
Posté le: Jeu Avr 15, 2004 3:32 pm Sujet du message: |
|
|
Ouep j'ai le même problème. Je me demande si le fichier etc/hosts n'intervient pas quelque part la-dedans ??
Quelqu'un aurait-il des infos recentes à ce sujet ?
 _________________ Comme ils disent à Varsovie : Boire ou conduire, de toute façon on a pas de voiture... |
|
Revenir en haut |
|
 |
Petey dummy mioche

Inscrit le: 15 Avr 2004 Messages: 5 Localisation: Region Parisienne
|
Posté le: Jeu Avr 15, 2004 11:48 pm Sujet du message: |
|
|
J'ai trouvé une fonction qui marche nikel !!!
Citation: |
char *recup_ip(void)
{
int s;
char *ip;
struct ifreq buffer;
struct sockaddr_in inetAddr;
s = socket (PF_INET, SOCK_DGRAM, 0);
ip = (char *)malloc (16);
memset (&buffer, 0, sizeof (buffer));
strcpy (buffer.ifr_name, "ppp0");
ioctl (s, SIOCGIFADDR, &buffer);
memcpy (&inetAddr, &(buffer.ifr_addr), sizeof (struct sockaddr_in));
strcpy(ip, inet_ntoa(inetAddr.sin_addr));
shutdown (s, 2);
return ip;
}
|
Je l'aime cette fonction !!  _________________ Comme ils disent à Varsovie : Boire ou conduire, de toute façon on a pas de voiture... |
|
Revenir en haut |
|
 |
Petey dummy mioche

Inscrit le: 15 Avr 2004 Messages: 5 Localisation: Region Parisienne
|
Posté le: Jeu Avr 15, 2004 11:50 pm Sujet du message: |
|
|
Je vous rajoute les includes qu'il faut pour le même prix :
Citation: |
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <net/if.h>
#include <netinet/if_ether.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
|
 _________________ Comme ils disent à Varsovie : Boire ou conduire, de toute façon on a pas de voiture... |
|
Revenir en haut |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|