Gethostby[addr /name]

Djoobstil
Messages postés
38
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
22 mars 2005
- 16 déc. 2004 à 19:33
jul39dole
Messages postés
117
Date d'inscription
mardi 22 juillet 2003
Statut
Membre
Dernière intervention
21 janvier 2011
- 17 déc. 2004 à 13:34
Bonjour,
Je fais actuellement un server utilisant l'host du client.
Je dois donc retrouver cet host, j'utilise pour ça: gethostbyaddr.
Le probleme est que le temps que gethostbyaddr prend à résoudre l'host est long, très long...
D'ailleur je n'ai jamais réussi à résoudre aucune host, pourquoi ?
Est-il possible de résoudre une host autrement que par gethostbyaddr ou d'éviter ce bloquage ?
Merci

Cordialement, Djoobstil

6 réponses

DeAtHCrAsH
Messages postés
2670
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013

16 déc. 2004 à 21:33
Un server utilisant l'host du client ?
Ca donne quoi en francais ?

long, très long ???
T'es sure que tu les utilises bien ces deux fonctions ?

T'as été jetté un oeil a la MSDN avant ?

Shell
0
Djoobstil
Messages postés
38
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
22 mars 2005

16 déc. 2004 à 22:01
En français ?
Un client est quelqu'un qui se connecte au server, il a une host.
C'est cette même host que je cherche.

long = ~30sec

oui j'utilise bien ces fonctions, oui j'ai lu MSDN, c'est là que je les ai trouvés.

Cordialement, Djoobstil
0
jul39dole
Messages postés
117
Date d'inscription
mardi 22 juillet 2003
Statut
Membre
Dernière intervention
21 janvier 2011

16 déc. 2004 à 23:16
pour éviter le blocage du prog, tu peux utiliser un thread (CreateThread) qui s'occupera de toutes tes connections. Et pendant ce temps, ton prog pourra faire autre chose, par exemple avertir l'utilisateur de se qui se passe...
0
Djoobstil
Messages postés
38
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
22 mars 2005

17 déc. 2004 à 01:04
Le probleme est que j'utilise moi-même un processeur mono-theaded.
Ca passe quand même ? oO

Cordialement, Djoobstil
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nebula
Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
17 déc. 2004 à 02:55
Un processeur monothreadé ? Elle est bien bonne celle-là ! Ton processeur ne fait tourner qu'un seul thread à un instant T (sauf si multicore mais çà doit pas être ton cas), mais çà ne l'empêche en rien d'en traiter plusieurs en une seconde... En général T est si petit qu'un humain à l'impression que tout s'exécute en même temps.

Les résolutions DNS prennent du temps surtout quand elles échouent. Le mieux est d'utiliser une fonction asynchrone (WSAAsyncGetHostByAddr sous Windows) si tu es en monothread, et des threads (attention: gethostbyaddr ou name ont des variables statiques, sous Windows il faut utiliser des objets de synchronisations et sous *nix gethostbyaddr_r pour éviter les c*illes...)
0
jul39dole
Messages postés
117
Date d'inscription
mardi 22 juillet 2003
Statut
Membre
Dernière intervention
21 janvier 2011

17 déc. 2004 à 13:34
oui en effet tu dois confondre avec l'hyperthreading de chez Intel, mais ça n'a rien a voir avec la gestion des threads sous Windows!
0