Linux网络协议.之 tcp,udp,socket网络编程(四).之网络转换函数htonl,ntohs等介绍

字节转换函数

把给定系统所采用的字节序称为主机字节序,为了避免不同类别主机之间在数据交换时由于对于字 节序的不同而导致的差错,引入了网络字节序。

主机字节序到网络字节序

u_long htonl(u_long hostlong);

u_short htons(u_short short);

网络字节序到主机字节序

u_long ntohl(u_long hostlong);

u_short ntohs(u_short short);

IP地址的转换

inet_aton()

将strptr所指的字符串转换成32位的网络字节序二进制值

inet_addr()

功能同上,返回转换后的地址 仅适用于IPV4,出错时返回-1。

复制代码
    局限性:不能用于255.255.255.255的转换

inet_ntoa()

将32位网络字节序二进制地址转换成点分十进制的字符串

inet_pton()

int inet_pton(int af, const char* src ,void* dst)

复制代码
    将IPV4/IPV6 的地址转换成binary格式

    使用于IPV4/IPV6 能正确处理255.255.255.255的转换问题

    参数:

    1.地址协议族(AF_INET或AF_INET6)

    2.src:是一个指针(填写分点形式的IP地址(主要指IPV4))

    dst:转换的结果给到dst

inet_ntop(int af,const void *src,char *dst,socklen_t size)

把ipv4和ipv6的网络字节序变成本地的字符串形式的IP地址

复制代码
    参数

    1.af:地址协议族(AF_INET或AF_INET6)

    2.src:是一个指针(32)

    3.dst:输出结果为32位点分形式的IP地址

    4.size:长度

复制代码
                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_74712453/article/details/132631903

相关推荐
树℡独1 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
zhang133830890752 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
酣大智4 小时前
接口模式参数
运维·网络·网络协议·tcp/ip
24zhgjx-lxq5 小时前
华为ensp:MSTP
网络·安全·华为·hcip·ensp
ling___xi5 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
REDcker5 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
Up九五小庞5 小时前
用arpspoof实现100%批量切断192.168.110.10 - 192.168.110.100 断网(双向欺骗)--九五小庞
网络·开源
躺柒5 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
独角鲸网络安全实验室6 小时前
本地信任成“致命漏洞”:数千Clawdbot Agent公网裸奔,供应链与内网安全告急
网络·网关·安全·php·漏洞·clawdbot·信任机制漏洞
ai_xiaogui6 小时前
Tailscale实现家庭与公司网络双向通信教程:子网路由配置详解
网络·tailscale·双向通信·子网路由配置详解·tailscale双向互访