- BOOL CheckIPReachable(LPCTSTR strIPAddress)
- {
- char strIP[100];
- #ifdef UNICODE
- WideCharToMultiByte(CP_ACP,0,strIPAddress,(int)_tcslen(strIPAddress)+1,strIP,sizeof(strIP)/sizeof(char),NULL,NULL);
- #else
- strcpy_s(strIP,strIPAddress);
- #endif
- IPAddr ipaddr=inet_addr(strIP);
- ULONG ulHopCount,ulRTT;
- return (BOOL)GetRTTAndHopCount(ipaddr,&ulHopCount,5,&ulRTT);
- }
其中GetRTTAndHopCount的第三个参数数值越大,IP不可ping通时的超时时间越长。
in_addr_t inet_addr(const char* strptr);
返回:若字符串有效则将字符串转换为32位二进制网络
字节序的IPV4地址,否则为INADDR_NONE
struct in_addr{
in_addr_t s_addr;
}
所处头文件: #include <arpa/inet.h>