socket字节序转换与地址转换函数记录

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 【代码】socket字节序转换与地址转换函数记录。

字节序转换

//h=host=主机字节序    n=network=网络字节序        
//主机转网络
uint16_t htons(uint16_t);
uint32_t htonl(uint16_t);
//网络转主机
uint16_t ntohs(uint16_t);
uint32_t ntohl(uint16_t);

地址转换函数

int inet_aton(const char *IP, struct in_addr *addr);//将一个字符串表示的点分十进制IP地址IP转换为网络字节序存储在addr中,并且返回该网络字节序表示的无符号整数。
char *inet_ntoa(struct in_addr in);//将一个网络字节序的IP地址(也就是结构体in_addr类型变量)转化为点分十进制的IP地址(字符串)。
in_addr_t inet_addr(const char *cp);//将一个字符串表示的点分十进制转化为网络字节序返回


//随着ipv6出现的新函数,兼容ipv4(网络字节序结构体在ipv4是in_addr,ipv6是in6_addr)
int inet_pton(int af, const char *src, void *dst);//将一个字符串表示的点分十进制转化为网络字节序
/*
af:地址簇,可选项:AF_INET(IPv4);AF_INET6(IPv6);    
src:传入的IP地址
dst:将ip地址转换成网络字节序后的结果存储在dst指向的 struct in_addr 结构体中 s_addr 成员
*/
//将一个网络字节序字转化为符串表示的点分十进制
const char *inet_ntop(int af, const void *src,char *dst, socklen_t size);
/*
af   同上;   
src:传入的网络字节序;   
dst:传出的IP地址;    
size:IP地址长度
*/
目录
相关文章
|
4月前
IP地址转换函数
IP地址转换函数
18 0
|
10月前
|
C++
实现一个函数,使用指针连接两个字符串。函数输入: 两个源字符串的指针,目的字符串的指(C++指针练习4)
实现一个函数,使用指针连接两个字符串。函数输入: 两个源字符串的指针,目的字符串的指(C++指针练习4)
|
10月前
实现一个函数,使用指针连接两个字符串。函数输入:两个源字符串的指针,目的字符串的指针。
实现一个函数,使用指针连接两个字符串。函数输入:两个源字符串的指针,目的字符串的指针。
|
存储 网络协议 Unix
Linux网络编程套接字地址结构和字节操作函数
Linux网络编程套接字地址结构和字节操作函数
156 0
|
算法
IP地址转换整型(算法练习)
IP地址转换整型(算法练习)
99 0
IP地址转换整型(算法练习)