1 结构体
in_addr: netinet/in.h
typedef uint32_t in_addr_t;
struct in_addr
{
in_addr_t s_addr;
};
|
sockaddr_in: netinet/in.h
struct sockaddr_in { uint8_t sin_len;
in_port_t sin_port; struct in_addr sin_addr;
sa_family_t sin_family;
char sin_zero[8];
};
|
2 函数
arpa/inet.h
//将字符串的ip地址转换为32位的网络字节序二进制值,并通过指针addr来存储。//255.255.255.255有效
//成功返回1,失败返回0
int inet_aton(const char *ipstr, struct in_addr *addr);
//将字符串的ip地址转换为32位的网络字节序二进制值,并作为返回值。
//255.255.255.255无效
in_addr_t inet_addr(const char *ip);
//将字符串的ip地址转换为32位的主机字节序二进制值,并作为返回值。
//255.255.255.255无效
in_addr_t inet_network(const char *ip);
//将32位网络字节序二进制IPv4地址转换成点分十进制字符串
//返回指向点分十进制字符串的指针
//不可重入,需要把结果拷出来
char* inet_ntoa(struct in_addr addr);
|
netinet/in.h
uint32_t ntohl (uint32_t __netlong)
uint16_t ntohs (uint16_t __netshort)
uint32_t htonl (uint32_t __hostlong)
uint16_t htons (uint16_t __hostshort)
|
阅读(456) | 评论(0) | 转发(0) |