« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
| 公告 |
谦卑,荣誉,牺牲,英勇,怜悯,诚实,精神,公正。 |
Blog信息 |
blog名称: 日志总数:183 评论数量:698 留言数量:7 访问次数:3016681 建立时间:2005年12月29日 |

| |
[编程学习]get ip address 网上资源
newqiang 发表于 2006/1/17 11:05:30 |
首先载入Winsock动态库,代码如下:
int CIPAddressDlg::StartUp(){ WORD wVersionRequested; WSADATA wsaData; int err;
wVersionReuqested=MAKEWORD(2,0); err=WSAStartup(wVersionReuqested, &wsaData); if(err!=0) { return err; } if(LOBYTE(wsaData.wVersion)!=2||HIBYTE(wsaData.wVersion)!=0) { WSACleanup(); return WSAVERNOTSUPPORTED; } return 0;}
以下的GetLocalHostName()函数为现实获取计算机名称,
int CIPAddressDlg::GetLocalHostName(CString&sHostName){ char szHostName[256]; int nRectCode; nRectCode=gethostname(szHostName,sizeofa(szHostName)); if(nRectCode!=0) { sHostName=_T("Not available"); return WSAGetLastError(); } sHostName=szHostName; return 0;}
然后调用GetIPAddress来获取IP地址
int CIPAddressDlg::GetIPAddress(const CString& sHostName, CString&sIPAddress){ struct hostent FAR *lpHostEnt=gethostbyname(sHostName); if(lpHostEnt==NELL) { sIPAddress=_T(""); return WSAGetLastError(); } LPSTR lpAddr=lpHostEnt->h_adr_list[0]; if(lpAddr) { struct in_addr inAddr; memmove (&inAddr,lpAddr, 4); sIPAddress=inet_ntoa (inAddr); if(sIPAddress.IsEmpty()) sIPAddress=_T("Not available"); } return 0;} |
|
|