htons()和htonl()函数
2015-10-07 14:57
274 查看
[b]htons()[/b]
#include <arpa/inet.h>
uint16_t htons(uint16_t hostshort);
htons的功能:
将一个无符号短整型数值转换为网络字节序,即大端模式(big-endian) 参数u_short hostshort: 16位无符号整数 返回值:
TCP / IP网络字节顺序.
htons 是把你机器上的整数转换成“网络字节序”, 网络字节序是 big-endian,也就是整数的高位字节存放在内存的低地址处。 而我们常用的 x86 CPU (intel, AMD) 电脑是 little-endian,也就是整数的低位字节放在内存的低字节处。
举个例子:
假定你的port是 0x1234, 在网络字节序里 这个port放到内存中就应该显示成 addr addr+1 0x12 0x34 而在x86电脑上,0x1234放到内存中实际是: addr addr+1 0x34 0x12 htons 的用处就是把实际内存中的整数存放方式调整成“网络字节序”的方式。
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
hostlong:主机字节顺序表达的32位数。
注释:
本函数将一个32位数从主机字节顺序转换成网络字节顺序。
返回值:
htonl()返回一个网络字节顺序的值。
参见:
htons(), ntohl(), ntohs().
#include <arpa/inet.h>
uint16_t htons(uint16_t hostshort);
htons的功能:
将一个无符号短整型数值转换为网络字节序,即大端模式(big-endian) 参数u_short hostshort: 16位无符号整数 返回值:
TCP / IP网络字节顺序.
htons 是把你机器上的整数转换成“网络字节序”, 网络字节序是 big-endian,也就是整数的高位字节存放在内存的低地址处。 而我们常用的 x86 CPU (intel, AMD) 电脑是 little-endian,也就是整数的低位字节放在内存的低字节处。
举个例子:
假定你的port是 0x1234, 在网络字节序里 这个port放到内存中就应该显示成 addr addr+1 0x12 0x34 而在x86电脑上,0x1234放到内存中实际是: addr addr+1 0x34 0x12 htons 的用处就是把实际内存中的整数存放方式调整成“网络字节序”的方式。
htonl()
简述: 将主机的无符号长整形数转换成网络字节顺序。#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
hostlong:主机字节顺序表达的32位数。
注释:
本函数将一个32位数从主机字节顺序转换成网络字节顺序。
返回值:
htonl()返回一个网络字节顺序的值。
参见:
htons(), ntohl(), ntohs().
相关文章推荐
- 【转】Java实现几种常见排序方法
- Android学习手记(1) Activity跳转
- 修改数据库mysql字符编码为UTF8
- ASP.NET MVC3 入门指南之数据验证[源码RAR下载]
- Kinect for Windows V2和V1对比开发___骨骼数据获取并用OpenCV2.4.10显示
- x-www-form-urlencoded与multipart/form-data区别
- python zip用法
- BZOJ 2683/4066(简单题-kd-tree重构)
- 大型网站之分布式会话管理
- 【Python】Learn Python the hard way, ex14 argv参数传值
- VIM之打开、保存文件
- Git三层同步问题
- UVA - 12594 Naming Babies(斜率优化)
- fzu2198(矩阵乘法模板)
- 微软今天的Windows 10硬件发布会汇总:手机瞬间变PC
- mac 您需要安装旧 Java SE 6 运行环境才能打开Android Studio,Intellij IDEA
- Ordering犀利的比较器(6)
- 获取transform的各种函数如:translate(0px,0px)
- XP,32/64位Win7,32/64位Win10系统【电脑城版】
- C++函数