您的位置:首页 > 其它

VC----如何自动获取本机IP地址?

2012-11-19 10:08 429 查看
//#include<winsock2.h>

//连接 ws2_32.lib

void CCWebClientDlg::InitSocket()

{

 WORD  wVersionRequested; 

 WSADATA  wsaData; 

 char  name[255]; 

 CString  ip;

 int err;

 PHOSTENT  hostinfo; 

 wVersionRequested  =  MAKEWORD( 1, 1 );//版本号1.1

 

 //1.加载套接字库 

 err = WSAStartup( wVersionRequested, &wsaData );

 if ( err != 0 ) {

  return;

 }

 //判断是否我们请求的winsocket版本,如果不是

 //则调用WSACleanup终止winsocket的使用并返回            

 if ( LOBYTE( wsaData.wVersion ) != 1 ||

  HIBYTE( wsaData.wVersion ) != 1 ) {

   WSACleanup( );

   return;

  }///...if

 if  ( err  ==  0  ) 

 { 

  

  if(  gethostname  (  name,  sizeof(name))  ==  0) 

  { 

   if((hostinfo  =  gethostbyname(name))  !=  NULL) 

   { 

    ip  =  inet_ntoa  (*(struct  in_addr  *)*hostinfo->h_addr_list); 

   } 

  } 

  

  WSACleanup(  ); 

 }   

 SetDlgItemText(IDC_EDIT_PORT,name);//name里是本机名 

 SetDlgItemText(IDC_IPADDRESS1,ip);  //ip中是本机IP 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: