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

相关推荐
上海云盾-小余5 小时前
域名解析被劫持怎么办?DNS 安全防护与异常修复全教程
网络·安全·ddos
科技风向标go5 小时前
**2026年Q2中国消费级监控摄像头市场观察:存量时代的竞争逻辑重构**
网络·安全·监控·户外安防
原来是猿6 小时前
网络计算器:理解序列化与反序列化(中)
linux·运维·服务器·网络·tcp/ip
汪汪大队u7 小时前
续:从 Docker Compose 到 Kubernetes(2)—— 服务优化与排错
网络·后端·物联网·struts·容器
m0_738120729 小时前
ctfshow靶场SSRF部分——基础绕过到协议攻击解题思路与技巧(一)
服务器·前端·网络·安全·php
现代野蛮人10 小时前
【深度学习】 —— VGG-16 网络实现猫狗识别
网络·人工智能·python·深度学习·tensorflow
2301_7807896610 小时前
“数字珍珠港”再现:西北能源基地DNS篡改事件深度复盘与防护升级
运维·服务器·网络·tcp/ip·网络安全·智能路由器·能源
S1998_1997111609•X10 小时前
针对犯罪集团etc/all,pid,IP的规划及量化逻辑原理
网络·安全·百度·缓存·量子计算
徐子元竟然被占了!!10 小时前
摄像头安全策略
网络
Zzzzmo_11 小时前
【网络编程】套接字
网络·套接字