Linux—网络编程(day12)
一、网络基础知识 二、基于TCP的网络编程 二、基于TCP的网络编程 1、编程中用到的辅助函数 (1)主机字节序和网络字节序的转换 因为数据存储方式涉及大端和小端,不同方式通信时需要转换,网络字节序为大端;可以使用以下函数: #include<arpa.inet.h> uint32_t htonl(uint_32_t hostlong); uint16_t htons(uint_16_t hostshort); uint32_t ntohl(uint_32_t netlong); uint16_t nonhs(uint_16_t hostshort); 其中:h代表host,n代表net,l代表long,s代表short (2)具体的网络协议地址空间和通用的网络地址空间的转换。 具体的网络协议族有ipv4,ipv6,local,unix等,各自有各自的地址空间,通用地址空间的类型为 struct sockaddr类型,在bind,accept等函数中都要用此类型做参数,可使用以下函数做转换: inet_pton(3) int inet_pton(int af, const char *src, void *dst); 功能: 转换src(点分十进制的地址格式)指定的字符串为网络地址结构到af指定的网络地址家族(即text to