网络套接字
socket,在通信过程中套接字是成对出现的
一个文件描述符指向两个套接字(该套接字内部由内核借助两个缓冲区实现)
网络字节序
网络采用的是大端字节法,计算机是小端字节法,所以需要网络字节序和主机字节序的转换
htonl ----> 本地到网络 (IP)h:host to n:network l:long(之前没int)
192.168.1.1(string)---->atoi---->int---->htonl---->网络字节序
htons ---->本地到网络(端口)s:short
ntohl---->网络到本地(IP)
ntohs---->网络到本地(端口)
IP地址转换函数
int inet_pton(int af, const char *src, void *dst);
点分十进制转变成网络大端法(string IP----->网络字节序)
af:AF_INET、AF_INET6
src:传入,IP地址(点分十进制)
dst:传出,转换后的网络字节序的IP地址。(string,我们所看到的)
返回值:
成功:1
异常:0,说明src指向的不是一个有效的ip地址
失败:-1
const char *inet_ntop(int af, const void *src,char *dst, socklen_t size);
网络字节序转换成本地字节序(网络字节序---->string IP)
af:AF_INET、AF_INET6
src:网络字节序IP地址
dst:本地字节序(string IP)
size:dst大小
返回值:<