begin process at 2010 02 10 11:53:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

Utilisation et fonctionnement de gethostbyname()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utilisation et fonctionnement de gethostbyname()

jeudi 16 avril 2009 à 13:00:42 | Utilisation et fonctionnement de gethostbyname()

lolo38550

Bonjour à tous,

Je développe en C une application client serveur sous windows. Côté client, j'utilise la fonction gethostbyname de la librairie winsock afin de récupérer l'adresse IP du serveur hebergé sur une machine connecté au réseau locale et cela fonctionne.

Pour mes tests, je connecte directement les deux machines ensemble en utilisant un câble croisé. Ce sera d'ailleurs la configuration d'utilisation. Cela fonctionne également mais dans cette configuration ci, la fonction gethostbyname met un certain temps avant de retourner la structure hostent(quelques secondes). Je crois savoir qu'elle doit utiliser plusieurs méthodes pour résoudre le nom. Elle doit déjà étudier le fichier host se trouvant dans le répertoire %System\system32\etc\ puis contacter le serveur DNS en cas d'échec. Dans le cas d'une connexion par câble croisé, la requête au DNS ne fonctionne évidement pas non plus, le serveur étant inaccessible.Du coup, je pense que l'attente que je constate est dû aux timeout des différentes recherches.

Mes questions sont les suivantes:
1/ Comme se fait-ce que la fonction gethostbyname fonctionne (c'est à dire me retourne la bonne adresse IP) alors que mon fichier host est vide (en fait, il ne contient seulement l'adresse de localhost) et que dans ce cas, on ne peut pas communiquer avec le serveur DNS ? J'immagine qu'il doit y avoir une autre méthode de résolution mais je ne la connais pas.
2/ Comment faire pour changer l'ordre d'utilisation des différentes méthodes utilisées par gethostbyname ?

Merci d'avance
jeudi 16 avril 2009 à 14:13:19 | Re : Utilisation et fonctionnement de gethostbyname()

rt15

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

1/ Aucune idée. Une requête de broadcast peut être. -> Wireshark.

jeudi 16 avril 2009 à 16:19:49 | Re : Utilisation et fonctionnement de gethostbyname()

lolo38550

Salut et merci de ta réponse!

En effet, je n'avais pas pensé à utiliser Wireshark... ce qui m'a permis de répondre à ma première question:

Lorsque je suis sur le réseau local, mon client envoie une requête à l'adresse du serveur DNS en utilisant le protocole DNS afin de récupérer l'adresse IP de la machine hébergeant mon serveur.

Dans la configuration où les deux machines sont reliées par un cable croisé, une requête est envoyé à l'adresse de diffusion en utilisant le protocole NBNS et c'est la machine hôte du serveur qui répond en envoyant son adresse IP.

Je pense donc que dans ce cas, mon client se met en attente des réponses, d'où la lenteur que je constate!

Merci de ton aide !


Cette discussion est classée dans : fonction, serveur, utilisation, fonctionne, gethostbyname


Répondre à ce message

Sujets en rapport avec ce message

Exemple de EnumPrinters (qui fonctionne) en C++ [ par nico ] Je voudrais que mon programme puisse détecter l'imprimante par défaut utilisée par mon PC. Pour ce faire j'ai trouvé la fonction "EnumPrinters". Le pr utilisation de la fonction findfirst, findnext... [ par brice128 ] brice128j'aimerais savoir comment utiliser la fonction findfirst qui doit permettre de lister le contenu d'un repertoire:fichiers et sous repertoires. Obtenir l'heure d'un serveur [ par pcollinet ] Salut à tous, je recherche désespéremment un moyen de faire l'équivalent de NetRemoteTOD pour que celà fonctionne avec Win98 et Win NT ou 2000. En fai utilisation de gluUnProject [ par jopop ] J'ai un pb dans l'utilisation de la fonction gluUnProject. La littérature que l'on peut trouver sur ce sujet n'est jamais assez précis. Je vous expose Utilisation de couleurs en langage C :) [ par did2604 ] Bonsoir,Petite question : pour utiliser des couleurs en langage C, je pense qu'il faut utiliser la fonction "textcolor (numero);" d'après ce que j'ai Utilisation de CFileDialog [ par skyvenger ] J'essaye d'utilitsé une boite de recherche de fichier pour définir l'emplacement d'un de mes fichier. Lors de l'appel du constructeur soit : CFileDial Utilisation de CFileDialog [ par skyvenger ] J'essaye d'utilitsé une boite de recherche de fichier pour définir l'emplacement d'un de mes fichier. Lors de l'appel du constructeur soit : CFileDial [probleme etats openGL] la fonction glEnabled(...) ne *fonctionne* pas! [ par nesk01 ] bjr, je suis en train d'implementer en OpenGL un jeu sur le principe des tours de Hanoï (pour un projet en cours ) le plu gro du prog est ecrit mais Client Serveur [ par glubust ] J'aimerais faire fonctionner une application client/serveur sous UNIX (client) et WINDOWS (serveur).Pouvez vous me dire si cela est possible ?Avez vou utilisation des connection point sous visualC++ [ par julien20vt ] J'ai besoin d'implémenter un client qui utilise les connectionpoint. Le serveur est un serveur de fax de la librairie windows FaxComex.lib.Si quelqu'u


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,454 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales