免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2877 | 回复: 8

[C] 网络编程的一个疑问? [复制链接]

论坛徽章:
0
发表于 2011-08-02 15:58 |显示全部楼层
为什么在网络编程发送数据的时候要把主机字节序转换为网络字节序?

主机字节序----->网络字节序~~~~~发送~~~~~接收~~~~~网络字节序------->主机字节序,
我感觉有点脱了裤子放屁,多此一举啊?
各位大侠,解释一下,网上说的都通篇一律,看不懂!!!!!

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2011-08-02 16:12 |显示全部楼层
主要是不同cpu架构体系的不同,常说的大端和小端。比如一个整数表示,是高位字节在前还是低位字节在前。

http://hi.baidu.com/baowup/blog/ ... a0451aa8d31159.html

论坛徽章:
0
发表于 2011-08-02 16:18 |显示全部楼层
本帖最后由 hgrany 于 2011-08-02 16:23 编辑

报文头等路由设备要访问的内容,比如dst ip ,需要有一个约定的读取顺序(大小端)。至于报文内容应该无所谓吧。

论坛徽章:
313
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2011-08-02 16:18 |显示全部楼层
这个转换也不是必须的,如只用于本机通信就没有必要了

论坛徽章:
0
发表于 2011-08-02 16:20 |显示全部楼层
如果客户端和服务器都是相同的cpu架构,是不是就没有必要装换了?

论坛徽章:
0
发表于 2011-08-08 10:12 |显示全部楼层
流程是对的,但是实际过程中,如果机器字节序是和要求的一致的,那个装换的宏是空的,也就是不会转换

论坛徽章:
0
发表于 2011-08-08 14:05 |显示全部楼层
回复 5# zhuqing_739


你说的对,如果是相同的cpu构架,理论上是不需要再转换了。
但是,你的程序的强壮性和移植性还有多少。。。
使用API函数在主机字节序和网络字节序转换的时候,API内部可能变也可能不变,就看你的主机存储的时候,是不是和网络字节序是一样的存储。网络字节序采用的是“高位放在起始位置”的存储方式

论坛徽章:
0
发表于 2011-08-08 20:05 |显示全部楼层
如果客户端和服务器都是相同的cpu架构,就没有必要装换了

论坛徽章:
0
发表于 2011-08-08 23:06 |显示全部楼层
貌似很多货币之间的兑换也是通过美元吧,这有什么不可以理解的,为了屏蔽差异,加一层,这是计算机技术最普遍的原理,没有这个就没有计算机技术的今天
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP