IPV4套接字地址
#include <netinet/in.h> struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; ... };
通用套接字地址结构
#include <sys/socket.h>struct sockaddr{ uint8_t sa_len; sa_family_t sa_family; char sa_data[14];};
字节排序程序
术语“小端”和“大端”表示多个字节值的哪一端存储在该值的起始地址。网际协议使用大端字节序来传送这些多字节整数。
#include <netinet/in.h>uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t host32bitvalue); uint16_t ntohs(uint16_t net16bitvalue); uint32_t ntohl(uint32_t net32bitvalue);
inet_pton和inet_ntop函数
#include <arpa/inet.h> int inet_pton(int family, const char* strptr, void* addrptr);//成功:1;输入格式无效:0;出错:-1const char* inet_ntop(int family, const void* addrptr, char* strptr, size_t len);//失败:NULL;成功:结果