J'utilise la fonction gethostbyname() de la manière habituelle ...gethostbyname d'erreur win32
iaHost.s_addr = inet_addr(lpServerName);
if (iaHost.s_addr == INADDR_NONE)
{
// Wasn't an IP address string, assume it is a name
lpHostEntry = 0;
lpHostEntry = gethostbyname(lpServerName);
}
pour accéder à mon site web et de renseignements. La variable "lpServerName" peut être n'importe quel hôte, par exemple "google.com" ou "loopback", "127.0.0.1". Mon système: Windows x64 ou x32 (peu importe la même erreur) fonctionnant sur un système AMD Opteron, XAMPP est sur ma machine et je l'utilise à des fins de débogage, mon compilateur est Microsoft Visual C++ 2005.
Voici le problème: lorsque j'utilise l'adresse de retour, le code ci-dessus fonctionne correctement. Lorsque j'essaie d'accéder à un site Web externe à mon ordinateur, j'obtiens l'erreur suivante: "Windows a déclenché un point d'arrêt dans test_gethostbyname.exe. Cela peut être dû à une corruption du tas, et indique un bogue dans test_gethostbyname.exe ou tout autre des DLL qu'il a chargé.La fenêtre de sortie peut avoir plus d'informations de diagnostic ". Le programme "test_gethostbyname.exe" contient uniquement les parties du code d'un projet beaucoup plus important qui s'applique à l'accès à Internet. Ainsi, je ne pense pas que le tas soit corrompu par tout ce que j'ai fait. J'ai essayé la commande "getaddrinfo" avec les mêmes résultats. J'ai cherché sur le web n'importe quel type d'information sur ce problème sans joie (autre que les fautes de segmentation sur les systèmes Unix).
Quelqu'un connaît-il un problème avec cette commande qui provoquerait cette erreur?
Merci à l'avance,
Jay
Vous avez essayé les adresses IP et les noms de domaine? – Paxic
Oui, en vain. – jay