获取IP地址 -- CIPAddressCtrl类

来源:互联网 发布:速读记忆训练软件. 编辑:程序博客网 时间:2024/04/26 01:47

初学Win socket,积累我的点点滴滴

 

 

#include <afxcmn.h>

  CIPAddressCtrl类的成员

  构造函数

CIPAddressCtrl

构造一个CIPAddressCtrl对象

Create

创建一个IP地址控件并将其附加给一个CIPAddressCtrl对象

  属性

IsBlank

确定是否IP地址控件中的所有域都为空

ClearAddress

清空IP地址控件的内容

GetAddress

获取IP地址控件中所有四个域的地址值

SetAddress

设置IP地址控件中所有四个域的地址值

SetdFocus

设置键盘焦点到IP地址控件中的指定的域

SetdRange

设置IP地址控件中指定域的范围

 

 

存储IP地址类型:可以是4BYTE型,或者是一个DWORD

 

1.获取IP地址方法:

a.      BYTE型:

   BYTEd0, d1, d2,d3;

     CString serv_ip;

    

     server_ip.GetAddress(d0, d1, d2, d3 );

     serv_ip.Format("%d.%d.%d.%d",d0,d1, d2, d3);

 

b.      DOWRD型:

   charszIP[17];

     DWORD uSendIP;

    

     server_ip.GetAddress(uSendIP);

     sprintf(szIP,"%d.%d.%d.%d",uSendIP>>24,(uSendIP>>16)&0xff,(uSendIP>>8)&0xff,(uSendIP)&0xff);

    szIP[16]='\0';

    

    或者可以通过一个独立函数实现

    

     extern CStringIPToStr(DWORDdwIP); //先在头文件定义这个外部函数

    

CStringIPToStr(DWORDdwIP)

{

         CString strIP = _T("");

         WORD add1,add2,add3,add4;

         add1=(WORD)(dwIP&255);

         add2=(WORD)((dwIP>>8)&255);

         add3=(WORD)((dwIP>>16)&255);

         add4=(WORD)((dwIP>>24)&255);

         strIP.Format("%d.%d.%d.%d",add4,add3,add2,add1);

         return strIP;

}

 

 Temp = IPToStr(serverIP); //对函数的调用

 

2.端口获取
 iPort = GetDlgItemInt(IDC_PORT);

 

3. IP地址设置

m_ctrlIP.SetAddress(dSendIP);

 

4.端口设置

 SetDlgItemInt(IDC_PORT,iPort,1);