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地址长度
*/
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
6月前
socket编程之回声服务器函数的陷阱
由connect函数使用不当导致的小错误 话不多说先看代码:
55 0
|
6月前
|
存储 算法 网络协议
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
63 0
|
6月前
011.socket函数错误封装处理
·回顾 在 008.一个简单的网络服务器开发----回声服务器中所实现的服务器功能简单,简单到几乎没有什么错误处理,我们知道,系统调用不能保证每次都成功。如 010所示,如果我们因为自己代码写的有些问题那么光是排查错误就够我们受的了。出错的可能千千万,所以我们必须进行出错处理,这样一方面可以保证我们的程序逻辑正常,另一方面可以迅速定位到故障信息。
67 0
|
6月前
socket编程之 connect()函数
再讲了服务器端的函数调用之后,终于来到了我们的客户端编程了(read/write之后会详细介绍的),客户端编程相较于服务器端来说是非常简单的了,在掌握了服务器端编程之后再看客户端编程就会胸有成竹(只需要在学一个函数即可)。
119 0
|
6月前
socket编程之 accept函数的理解
在进入我们的正题之前,再来复习一波编写服务器的函数流程吧
334 0
|
6月前
|
网络协议 Linux 定位技术
网络编程函数小总结与初识socket
总结服务器端的函数和客户端的函数 再次声明博主写的都是对于linux下的网络编程,没有写关于Windows的网络编程,也许以后会写到。 这里只是总结一下,具体参数的含义等后面的跟新
68 0
|
11月前
|
网络协议
socket编程函数
socket编程函数
34 0
|
存储 网络协议 Unix
socket | 网络套接字、网络字节序、sockaddr结构
socket | 网络套接字、网络字节序、sockaddr结构
118 0
|
网络协议 Unix Linux
Android C++ 系列:Linux Socket 编程(二)网络套接字函数
socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描 述符,应用程序可以像读写文件一样用read/write在网络上收发数据,如果socket()调 用出错则返回-1。对于IPv4,domain参数指定为AF_INET。对于TCP协议,type参数指定为 SOCK_STREAM,表示面向流的传输协议。如果是UDP协议,则type参数指定为SOCK_DGRAM,表 示面向数据报的传输协议。protocol参数的介绍从略,指定为0即可。
200 0
|
1月前
|
网络协议 测试技术 网络安全
Python编程-Socket网络编程
Python编程-Socket网络编程