gpt4 book ai didi

c - gethostbyname win32错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:32 26 4
gpt4 key购买 nike

我正在以通常的方式使用 gethostbyname() 函数...

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);
}

访问我的网站并返回信息。变量“lpServerName”可以是任何主机,例如“google.com”或环回“127.0.0.1”。

我的系统:在 AMD Opteron 系统上运行的 Windows x64 或 x32(发生相同错误无关紧要),XAMPP 在我的机器上,我将其用于调试目的,我的编译器是 Microsoft Visual c++ 2005。

问题是:当我使用环回地址时,上面的代码工作正常。当我尝试访问计算机外部的网站时,出现以下错误:“Windows 已在 test_gethostbyname.exe 中触发断点。这可能是由于堆损坏,并表明 test_gethostbyname.exe 或任何错误它加载的 DLL。输出窗口可能有更多诊断信息”。该程序“test_gethostbyname.exe”仅包含来自一个更大项目的适用于访问互联网的部分代码。因此,我认为我所做的任何事情都不会破坏堆。我已尝试使用“getaddrinfo”命令得到相同的结果。我在网上搜索了有关此问题的任何类型的信息(除了 unix 系统上的段错误)。

有谁知道这个命令有什么问题会导致这个错误发生吗?

提前致谢

周杰伦

最佳答案

我看到您正在检查 INADDR_NONE 但其他失败状态 INADDR_ANY 呢

http://msdn.microsoft.com/en-us/library/ms738563(VS.85).aspx

你传递给 gethostbyname() 的字符串是什么? lpServerName 的格式可能有问题。

关于c - gethostbyname win32错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/641262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com