为了账号安全,请及时绑定邮箱和手机立即绑定

为什么只有ip地址和端口号需要主机字节序到网络字节序的转换?

为什么只有ip地址和端口号需要主机字节序到网络字节序的转换?

慕工程0101907 2019-03-29 22:08:43
传输的数据为什么不需要主机字节序到网络字节序的转换却能正确传输?
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

IP/PORT转换是因为TCP/IP协议规定用网络字节序,你用人家的东西,自然要按别人的规矩办事~
你传输的数据收发处理都是你自己做的,你想转字节序就转,不想转也没人强迫你~
但是通常建议是统一都转成网络序,接口确定大家好办事嘛.假如是多人开发一个项目,别人发的数据转成网络序了,你收到后不再转成主机序,导致数据解不出来,你说怪谁?
                            
查看完整回答
反对 回复 2019-03-29
?
长风秋雁

TA贡献1757条经验 获得超7个赞

好问题。
答复是:因为内容是二进制流,不是整数。
整数(int、uint16、uint32)的表达,是需要多字节的,在不同cpu上,字节次序是不同的。因此,从A主机到B主机,如果是异构的,就需要做字节调整。同构是不需要的。然后网络就是如此,你不能约定对方的主机类型,因此,干脆都转。
内容的表达,就是二进制流,在不同类型的主机上并无差别,如何解释,应用自行决定。故而不必转。
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 1482 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号