| 发表于:2007-02-02 12:57:18 楼主 |
我在检索局域网内所有活动主机的时候,ip的检索用的是以下这个代码 wsadata wsadata; if (wsastartup(makeword( 1,1 ), &wsadata)) return false; cstring hostaddr = _t( " "); struct hostent *host = gethostbyname(hostname); sockaddr_in sa; for (int nadapter = 0; host != null && host-> h_addr_list[nadapter]; nadapter++) { memcpy ( &sa.sin_addr.s_addr, host-> h_addr_list[nadapter], host-> h_length); } hostaddr = inet_ntoa(sa.sin_addr); wsacleanup(); } 但是结果有时候是192.x.x.x,有的时候却是202.x.x.x的,192的那个是可以connect成功的,但202的不行的,我怎么才能得到正确有结果呢? |
|
|
|
|