网站集约化建设工作讲话微信电脑版下载官网
web/
2025/10/3 21:06:03/
文章来源:
网站集约化建设工作讲话,微信电脑版下载官网,甘肃做网站的网络公司,高端网站制造1.网络字节序
TCP/IP协议规定#xff0c;网络数据流采用大端字节序#xff0c;即低地址高字节。为了使网络程序具有可移植性#xff0c;使得同样的C代码在大端和小端计算机上编译后都能正常运行#xff0c;可以调用以下库函数做网络字节序和主机字节序的转换。
#include网络数据流采用大端字节序即低地址高字节。为了使网络程序具有可移植性使得同样的C代码在大端和小端计算机上编译后都能正常运行可以调用以下库函数做网络字节序和主机字节序的转换。
#includearpa/inet.huint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);h:host;n:network;l:32位长整数s:16位短整数如果主机是小端字节序这些函数将参数做相应的大小端转换然后返回如果主机是大端字节序这些函数不做转换将参数原封不动的返回。
2.IP地址转换函数
2.1 将IP地址转换为网络字节序
#includearpa/inet.h
int inet_pton(int af,const char *src,void *dst);功能将IPv4地址转换为网络字节序 参数afAF_INET或者AF_INET6前一个是个IPv4地址后一个适合IPv6地址src点分十进制的字符串dst写进网络字节序 2.2 将网络字节序转换为IP地址
#includearpa/inet.h
int inet_ntop(int af,const void *src,char *dst,socklen_t size);功能 将网络字节序转换为IP地址 参数afAF_INET或者AF_INET6前一个是个IPv4地址后一个适合IPv6地址src网络字节序dst返回字符串的指针的地址size字符串的大小
3.sockaddr数据结构
struct sockaddr很多网络编程函数诞生于IPv4协议之前那时候都是使用struct sockaddr结构体但是这个结构体逐渐被废弃原struct sockaddr演变成struct sockaddr_in和struct sockaddr_in6但是很多函数内部仍然需要传递struct sockaddr的地址所以我们需要强制转换所需的地址类型。 struct sockaddr_in {sa_family_t sin_family; /* address family: AF_INET */in_port_t sin_port; /* port in network byte order */struct in_addr sin_addr; /* internet address */};struct in_addr {uint32_t s_addr; /* address in network byte order */};
参数sin_familyAF_INET或者AF_INET6sin_port端口号sin_addrIP地址
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86415.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!