广州手机网站建设哪家好上海网站建设的网
news/
2025/9/25 0:21:22/
文章来源:
广州手机网站建设哪家好,上海网站建设的网,网站怎么找,莱芜信息港本文主要介绍了TCP/IP五层协议中的应用层常见的数组组织格式和传输层UDP协议。 一.应用层
1.网络通信数据的实质 网络上传输的数据#xff0c;本质就是字符串#xff08;准确的说#xff0c;是二进制的字符串#xff09; Java中的各种对象#xff0c;是无法直接传输的
本质就是字符串准确的说是二进制的字符串 Java中的各种对象是无法直接传输的
在发送的时候就需要把对象转成二进制字符串 ---序列化
收数据的时候也需要把二进制字符串转回对象 ---反序列化 通信的要求
客户端的请求以及服务器的响应具体的数据组织格式是非常灵活的
程序员想怎样组织都可以只需要保证客户端和服务器使用的相同的规格就行 应用层有很多现成的协议但是有时候需要程序员自定义协议。 自定义协议 1.明确好传递的信息有什么 2.约定好信息按照什么格式来组织 注意自定义格式虽然可以任意但是为了避免出现过于天马行空的设计有一些大佬就搞出了一些 通用的协议格式对我们的协议设计是有重要的指导作用的。
下面是介绍三种常见数据组织格式 2.常见的数据格式
1.xml
以成对的标签来表示键值对信息同时标签支持嵌套构成一些更复杂的树形结构数据。
请求requestuserId123/userId //键值对结构 userId 123password111/password // password111
/request响应
responseallSubjectssubjectnamemath/namescore99/score/subjectsubjectnamechinese/namescore99/score/subject /allSubjects
/response 和html区别
html里的标签有自己的标准
xml里的标签就是程序员自定义的 优点xml把结构化数据表示的非常清晰 缺点表示数据需要引入大量的标签看起来繁琐同时会占用很多网络带宽 现状xml用的越来越少了 2.json
当前最流行的组织格式
本质上也是键值对但是比xml要干净很多 组织形式 {} 表示键值对 [] 表示数组数组中可以是数组还可以是{}或者[] 请求
{UserId:123,Password:11a}响应
[{Name:math,Score:99}{Name:chinese,Score:99}
]
现状最主流使用的一种网络传输数据的格式未来在实际开发中会经常使用json格式的数组
特性json中可以把所有内容放在同一行通常网络传输中会把json进行压缩同时把所有数据放到一行整体占用的带宽就降低了。 3.protobuffer
谷歌提出的一套二进制的数据序列化方式
特性使用二进制的方式约定哪几个字节表示哪个数据。最大程序的节省空间不必传输key根据位置和长度区分每个属性 优点节省带宽最大效率化 缺点二进制数据无法用肉眼观察不方便调试使用复杂 适用场景性能要求更高的场景牺牲了开发效率换来运行效率 总结
除了以上三种业界还有很多其他的数组组织格式比如Java标准库就提供了方式还有其他的第三方库提供的方式更丰富 二.传输层
1.UDP用户数据报协议 UDP基本特点无连接 不可靠传输 面向数据报 全双工 学习一个协议要掌握协议的特性还要理解协议报文格式。
1.1UDP数据报格式
UDP用户数据报报文格 报头各字段说明
报头有四个字段每个字段占2字节2字节的数据范围是0 ~ 65535 。
源/目的端口范围是0 ~ 65535
其中1-1024是知名端口不建议使用。
长度指的是数据载荷的长度最大65535也就是64kb这意味着一个UDP数据载荷最大只能65535这么长。 这在互联网发展之初是比较大的
放在现在64KB已经非常小了经常是不能够满足使用的
但是现在由于种种原因已经无法改变了。
应对方案
1.在应用层代码中把报文拆分成多组通过多个UDP数据报进行传输
2.使用tcp代替udptcp没有报文长度限制
检验和
事实网络传输数据过程中收到外界干扰就会出错
由于本质上传输的是光信号/电信号/电磁波 比如受太阳活动的影响,就会影响到正常的网络通信
可能会导致比特翻转 0-1 / 1-0 )所以就要将收到的数据和发来的数据进行对比。
UDP使用CRC校验算法循环冗余校验和 思想累加结果保存到这个2字节的变量中最终就得到了校验和。 接受方收到数据时候按照同样的方式再算一遍校验和 数据相同 -- 校验和相同 校验和不同 -- 数据不同 但是校验和相同 不能推出 数据相同 可能会出现巧合
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916433.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!