代码改变世界

Win32 网络编程基本函数

  Clingingboy  阅读(703)  评论(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);

七.

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2009-06-01 wpf && silverlight开发框架(prism)系列教程
点击右上角即可分享
微信分享提示