Linux网络编程---htons函数的使用
htons是将整型变量从主机字节顺序转变成网络字节顺序, 就是整数在地址空间存储方式变为高位字节存放在内存的低地址处。
htonl就是把本机字节顺序转化为网络字节顺序所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低,低对高”(即一个数的高位字节存放于低地址单元,低位字节存放在高地址单元中)。但是计算机的内存存储数据时有可能是大尾顺序或者小尾顺序。先举个例子:int a = 0x403214;int b = htonl(a);我在VC++6.0调试这段代码,发现&a的值为:0x0012ff44其中0x0012ff44、0x0012ff45、0x0012ff46、0x0012ff47这四个单元的值依次为:14、32、40、00,即0x403214这个数的高位部分存放在高位地址中,低位部分存放在低位地址中,即小尾顺序。&b的值为:0x0012ff40其中0x0012ff40、0x0012ff41、0x0012ff42、0x0012ff43这四个单元的值依次为:00、40、32、14,即把原数0x403214的高位部分存放在低位地址中,低位部分存放在高位地址中。由此可见,如果一个数以小尾顺序存储,经htonl函数调用后这个数的高地位字节会完全颠倒过来成为一个新的数。这个新的数在机器内部其实还是以小尾顺序存储的,但是相对于原来的数而言相当于是变成大尾顺序的了。long型的0x40写完整为:0x 00 00 00 40,共四个字节,调用htonl后四个字节颠倒顺序,为0x 40 00 00 00。同样,0x40 00 00 00调用htonl后变为0x 00 00 00 40,即0x40 举例:
转载于:https://www.cnblogs.com/xuelisheng/p/9310804.html
Linux网络编程---htons函数的使用相关推荐
- linux网络编程常用函数详解与实例(socket--bind--listen--accept)
常用的网络命令: netstat 命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可 ...
- linux网络编程函数解析之——setsockopt / getsockopt用法
linux网络编程函数解析之--setsockopt / getsockopt用法 工程中无线传输方面的东西用到了setsockopt(),getsockopt().网上相关博客很多,而且类似,原文出 ...
- Linux io模型及函数调用,Linux 网络编程的5种IO模型:信号驱动IO模型
Linux 网络编程的5种IO模型:信号驱动IO模型 背景 这一讲我们来看 信号驱动IO 模型. 介绍 情景引入: 在信号驱动IO模型中,当用户线程发起一个IO请求操作,会给对应的socket注册一个 ...
- Linux网络编程实例分析
最近由于工作原因需要温习一下Linux网络编程的部分基础知识,因此对之前写的Socket网络通信的代码进行了进一步优化和拓展,在不关闭一次Socket连接的基础上,对服务端加入循环读写的功能,同时加入 ...
- [Linux网络编程学习笔记]套接字地址结构
好久没有看那Linux网络编程这本书了,今天看到了重点部分-TCP套接字.下面先来看看套接字的地址结构 Linux系统的套接字可以支持多种协议,每种不同的协议都是用不同的地址结构.在头文件<li ...
- 基于UDP客户端服务器的编程模型-linux网络编程
坚持在代码中注释,边读代码边学习Linux网络编程 使用到的发送函数原型: #include <sys/types.h>#include <sys/socket.h>ssize ...
- 【Linux网络编程】并发服务器之select模型
00. 目录 文章目录 00. 目录 01. 概述 02. I/O复用技术概述 03. select模型服务器实现思路 04. select模型服务器实现 05. 附录 01. 概述 服务器设计技术有 ...
- 【Linux网络编程】并发服务器之多线程模型
00. 目录 文章目录 00. 目录 01. 概述 02. 多线程服务器 03. 多线程服务器实现思路 04. 多线程服务器实现 05. 附录 01. 概述 服务器设计技术有很多,按使用的协议来分有 ...
- 【Linux网络编程】TCP网络编程中connect listen和accept三者之间的关系
00. 目录 文章目录 00. 目录 01. TCP服务端和客户端流程 02. connect函数 03. listen函数 04. 三次握手 05. accept函数 06. 附录 01. TCP服 ...
- 【Linux网络编程】TCP编程
00. 目录 文章目录 00. 目录 01. TCP概述 02. TCP特点 03. TCP中CS架构 04. TCP相关函数 05. TCP服务端示例 06. TCP客户端示例 07. 附录 01. ...
最新文章
- Windows cmd(DOS)命令窗口中echo命令ANSI转义显示彩色字或背景
- C/S和B/S两种模式
- Java类集-set
- 为什么php不能用了,为什么php不能做大型系统?
- Unity3D实践3:BOSS血条
- Ubuntu18.04谷歌输入法中文候选此框消失问题
- 数学基础加强2---概率论与贝叶斯先验
- 地籍cad的lisp程序大集合_超经典CAD_lisp程序集锦、CAD快捷键大全
- 宋宝华linux内核驱动代码,宋宝华 《Linux设备驱动开发详解》示例代码之fifo字符设备驱动...
- 三.修改Jenkins插件下载路径
- 朋友公司年会需要一个抽奖程序,我花1小时给她写了一个...
- Word365英文版,文字垂直居中
- python模拟登录163邮箱_用python实现模拟登陆163邮箱
- 现代 opengl 的驱动安装
- 极限编程中的十二个最佳实践
- 解决This is probably not a problem with npm. There is likely additional logging output above.的问题
- 风口起落的背后,是6271家创业公司的消亡
- 深度学习模型评价标准
- 破解Navicat全家桶
- SQL查询实现,记录排序编号
热门文章
- 2022-2-20stream流的复习
- 作用域和请求参数传递
- 计算机专业 美国,美国计算机专业的五大名校概况
- 二十四、JAVA集合框架(四)
- 在mysql数据库中创建Oracle数据库中的scott用户表
- RequestContextHolder 获取 ServletRequest 和 ServletResponse,Spring MVC ModelAndView 数据响应 Response
- 基于计算机 中学数学教学,计算机辅助中学数学教学的研究
- HDU2072 tri树/map/set/字符串hash
- VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法
- [置顶]灰のNOIP总结