8、 大端模式、小端模式
大端模式:低字节放在低地址,高字节放在高地址
小端模式:低字节放在高地址,高字节放在低地址
字节序的转化函数
头文件:#include <arpa/inet.h>
从主机发送到网络:uint32_t htonl(uint32_t hostin32);//32位数据传送,从主机到网络
uint16_t htonl(uint16_t hostin32);//16位数据传送,从主机到网络
从网络发送到主机:uint32_t ntohl(uint32_t netint32);//32位数据接收,从网络到主机
uint16_t ntohl(uint16_t netint32);//16位数据接收,从网络到主机
9、 Inet_pton
函数的作用:将十进制点分式IP地址转化为二进制IP地址
函数的原型:int inet_pton(int af, const char *src, void *dst)
函数的参数:af:AF_INET,AF_INET6
src:点分式IP地址
dst:转化后的IP地址
函数的返回值:成功:1;
格式无效:0;
出错:-1;
10、inet_ntop
函数的作用:将二进制IP地址转化为十进制点分IP地址
函数的原型:const char *inet_ntop(int af, constchar *src, char *dst, socket_t size);
11、sendto
函数的作用:传送socket数据,udp使用较多
函数的原型:int sendto(int sockfd, const void* msg, int len, unsigned int flags, const struct sockaddr *toaddr, int tolen);
函数的参数:sock:套接字描述符
Msg:发送的消息内存
Toaddr:要发送消息的目的地址
Tolen:sizeof(struct sockaddr)
函数的返回值:成功:实际传送的字节数
失败:-1;
12、recvfrom
函数的作用:从socket接收数据
函数的原型:int recvfrom(int sockfd, void *buf, int len, unsigned intflags , struct sockaddr *fromaddr,int *fromlen);
函数的参数:sockfd:套接字描述符
buf:发送的消息内存
fromaddr:要接收消息的目的地址
fromlen:sizeof(struct sockaddr)
函数的返回值:成功:实际接受的字节数
失败:-1;