网络编程中的辅助性函数总结

1.

inet_aton:将点分十进制IP转化为网络字节序存放在addr中,并返回该网络字节序对应的整数。

inet_addr:将点分十进制IP转化为网络字节序(二进制位的大端存储)

2.

inet_ntop:十进制转十六进制

inet_pton:十六进制转十进制

3.表示ip地址相关的数据结构都定义在netinet/in.h。

typedef uint32_t in_addr_t;  网络内部用来表示IP地址的类型

 

struct in_addr
{
in_addr_t s_addr;
};

 

struct sockaddr_in
{
__SOCKADDR_COMMON (sin_);
in_port_t sin_port; /* Port number. */
struct in_addr sin_addr; /* Internet address. */

/* Pad to size of `struct sockaddr'. */
unsigned char sin_zero[sizeof (struct sockaddr) -
__SOCKADDR_COMMON_SIZE -
sizeof (in_port_t) -
sizeof (struct in_addr)];
};


struct sockaddr 这个结构体是linux的网络编程接口中用来表示IP地址的标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的。在实际编程中这个结构体会被一个struct sockaddr_in或者一个struct sockaddr_in6所填充

posted @ 2019-03-04 21:06  鸿蒙过客  阅读(130)  评论(0编辑  收藏  举报