prog reseau en C sous Linux

 
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> C sous UNIX et Windows
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
lsd
dummy mioche
dummy mioche


Inscrit le: 30 Jan 2003
Messages: 1

MessagePosté le: Jeu Jan 30, 2003 3:36 pm    Sujet du message: prog reseau en C sous Linux Répondre en citant

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. Confused Quelqu'un a une solution ? Faut-il passer par sysctl ?

Merci d'avance ! Very Happy
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Petey
dummy mioche
dummy mioche


Inscrit le: 15 Avr 2004
Messages: 5
Localisation: Region Parisienne

MessagePosté le: Jeu Avr 15, 2004 3:32 pm    Sujet du message: Répondre en citant

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 ?

Surprised Laughing Cool
_________________
Comme ils disent à Varsovie : Boire ou conduire, de toute façon on a pas de voiture...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
Petey
dummy mioche
dummy mioche


Inscrit le: 15 Avr 2004
Messages: 5
Localisation: Region Parisienne

MessagePosté le: Jeu Avr 15, 2004 11:48 pm    Sujet du message: Répondre en citant

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 !! Laughing Laughing
_________________
Comme ils disent à Varsovie : Boire ou conduire, de toute façon on a pas de voiture...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
Petey
dummy mioche
dummy mioche


Inscrit le: 15 Avr 2004
Messages: 5
Localisation: Region Parisienne

MessagePosté le: Jeu Avr 15, 2004 11:50 pm    Sujet du message: Répondre en citant

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>


Cool Cool
_________________
Comme ils disent à Varsovie : Boire ou conduire, de toute façon on a pas de voiture...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> C sous UNIX et Windows Toutes les heures sont au format CET (Europe)
Page 1 sur 1

 
Sauter vers:  
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
Affilzen SARL : Mention légale