//
//
/**
* 根据输入的字符串(主机名、域名、IP)获取IP地址
* 返回值为初始化addr域的SOCKADDR_IN结构体
*/
SOCKADDR_IN GetIpAddressByName(const TCHAR *aName)
{
char hostName[1024] = {0};
SOCKADDR_IN addr;
ZeroMemory(&addr, sizeof(SOCKADDR_IN));
if (!aName || _tcslen(aName) == 0)
return addr;
#ifdef UNICODE
WideCharToMultiByte(CP_ACP, 0, aName, -1, hostName, 1024, NULL, NULL);
#else
_tcscpy_s(hostName, 1024, aName);
#endif
WSADATA wsaData;
WSAStartup(MAKEWORD(1,1), &wsaData);
hostent *pHostent = gethostbyname(hostName);
WSACleanup();
if (pHostent == NULL)
return addr;
memcpy_s(&addr.sin_addr.S_un.S_addr, 4, pHostent->h_addr_list[0], pHostent->h_length);
return addr;
}
//
[Win32]根据主机名、域名、IP字符串获取IP地址
最新推荐文章于 2023-12-08 23:53:57 发布