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

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;
};

 

扫描二维码关注公众号,回复: 5414350 查看本文章

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所填充

猜你喜欢

转载自www.cnblogs.com/lican0319/p/10473188.html