代码改变世界

Win32 网络编程基本函数

2011-06-01 21:34  Clingingboy  阅读(699)  评论(0编辑  收藏  举报

 

一.gethostname

//获得本地计算机主机名称
CString strName = _T("");
gethostname(strName.GetBuffer(1024), 1024);
strName.ReleaseBuffer();

二.gethostbyname

char szHost[256];
// 取得本地主机名称
::gethostname(szHost, 256);
// 通过主机名得到地址信息
hostent *pHost = ::gethostbyname(szHost);
// 打印出所有IP地址
in_addr addr;
for(int i = 0; ; i++)
{
    char *p = pHost->h_addr_list[i];
    if(p == NULL)
        break;

    memcpy(&addr.S_un.S_addr, p, pHost->h_length);
    char *szIp = ::inet_ntoa(addr);
    printf(" 本机IP地址:%s  \n ", szIp);
}


获取本地host

gethostbyname("")

三.inet_ntoa

The inet_ntoa function converts an (Ipv4) Internet network address into a string in Internet standard dotted-decimal format.

四.inet_addr

The inet_addr function converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.

五.网络字节序 主机字节序

  1. htonl
  2. htons
  3. ntohl
  4. ntohs

h代表host,n代表network,s代表short,l代表long

六.gethostbyaddr

The gethostbyaddr function retrieves the host information corresponding to a network address.      

hostent *pHost2=gethostbyaddr((char *) &addr,4,PF_INET);

七.