Pinging MyPCName [100.100.100.110] with 32 bytes of data:Reply from 100.100.100.110: bytes=32 time=7ms TTL=128 Reply from 100.100.100.110: bytes=32 time<1ms TTL=128 Reply from 100.100.100.110: bytes=32 time<1ms TTL=128 Reply from 100.100.100.110: bytes=32 time<1ms TTL=128Ping statistics for 100.100.100.110: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 7ms, Average = 1ms这个100.100.100.110是在局域网里面的IP地址啊,而不是公网IP
{
DWORD dwBytesReturned = 0;
struct sockaddr_in saTarget;
struct sockaddr_in saSource;
memset(&saSource, 0, socksize);
memset(&saTarget, 0, socksize); saTarget.sin_family = saSource.sin_family = AF_INET;
saTarget.sin_addr.s_addr = inet_addr(pszTargetAddr);
WSAIoctl(hSocket, SIO_ROUTING_INTERFACE_QUERY, (LPVOID)&saTarget,
sizeof(sockaddr_in), (LPVOID)&saSource, sizeof(sockaddr_in),
&dwBytesReturned, NULL, NULL); return saSource.sin_addr.s_addr;
}// sample:
DWORD dwOutAddr = GetOutAddr(s, "202.102.1.54");
char* szOutAddr = inet_nta(*(INADDR*)&dwOutAddr);
然后再在开始菜单中,单击运行在打开中输入cmd回车
在ping_________(你的IP地址)
如果是拨号上网,动态IP的,网都没有上,我取哪里找IP地址啊?
如果在局域网内的计算机,我拔掉网线,都可以ping通自己的IP啊
如果有IP地址说明你已经连在网络上了。
只要装了个网卡,ipconfig就能看到有ip
没装有网卡都能PING得通的.
函数:取得本机IP
*/
CString CSystemInfo::GetLocalIP()
{
::AfxSocketInit(); CString m_addr;
CString m_strT;
CString sNetBiosName;
char hostname[128];
struct hostent *phost;
gethostname(hostname,128);
m_addr = hostname;
phost = gethostbyname(hostname);
int m_iCounter=0;
for(int j = 0;j<4;j++)
{
m_strT.Format("%u", (unsigned int)((unsigned char*)phost->h_addr_list[0])[j]);
sNetBiosName+=m_strT;
if(m_iCounter<3)
{
m_iCounter++;
sNetBiosName+=".";
}
}
return sNetBiosName;
}
你的代码得到的是机器IP列表里面的第一个IP地址,不知道有没有方法判断IP列表里面哪个IP是当前上网用的地址??
Reply from 100.100.100.110: bytes=32 time<1ms TTL=128
Reply from 100.100.100.110: bytes=32 time<1ms TTL=128
Reply from 100.100.100.110: bytes=32 time<1ms TTL=128Ping statistics for 100.100.100.110:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 7ms, Average = 1ms这个100.100.100.110是在局域网里面的IP地址啊,而不是公网IP
只要局域网是好的就能ping通,但不一定可以上网。
如果是拨号上网,可以用RasEnumConnections取得连接