关于域名解析的问题(特奇怪)
域名解析代码如下:
WSADATA wsa;
if(WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
{
return FALSE;
}
m_socket =socket(AF_INET, SOCK_STREAM, 0);
hostent* host = gethostbyname("****.vicp.net");
if (host == NULL)
{
WSACleanup();
return FALSE;
}
char* pszIP = (char *)inet_ntoa(*(struct in_addr *)(host->h_addr));
sockAddr.sin_family = AF_INET;
sockAddr.sin_port = htons(nPort);
sockAddr.sin_addr.s_addr = inet_addr(pszIP);
……
域名是通过花生壳付费申请的,上述代码封装在一个函数模块中,并通过一个线程来定时调用这个模块进行数据通信(几乎是每分钟一次),现在出现这样一个问题:域名解析的地址有时候正确,有时候不正确,当发现解析不正确时,在电脑上启动cmd窗口来ping这个域名,ping出来的IP跟解析出来的IP一样,都是不正确的,手动输入命令来清空DNS后解析的结果还是一样,不正确。而此时花生壳里诊断的IP是正确的,把该域名通过相关网站解析也是正确的。不知是我代码有错误还是因为什么原因导致解析不正确?
注:当解析不正确时,过一段时间后解析又正确了。
[解决办法]
这可能就是解析服务器的问题了,ping都有问题