《物联网技术创新应用》Websocket通讯协议的实践.pptxVIP

《物联网技术创新应用》Websocket通讯协议的实践.pptx

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Websocket通讯协议的实践InternetofThings

目录ContentsSuccessWords2相关知识Websocket基本概念任务实践Web实时通信方案Websocket协议

目录ContentsSuccessWords3Web实时通信方案

13Web实时通信方案轮询最早的一种实现实时Web应用的方案。客户端以一定的时间间隔向服务端发出请求,以频繁请求的方式来保持客户端和服务器端的同步。在客户端的页面使用隐藏窗口向服务端发出长连接请求。服务器端接到这个请求后作出回应并不断更新连接状态以保证客户端和服务器端的连接不过期。长轮询长轮询是对定时轮询的改进和提高,当服务器端没有数据更新的时候,连接会保持一段时间周期,直到数据或状态改变或者时间过期。流

5Web实时通信方案这种同步方案的最大问题是,当客户端以固定频率向服务器发起请求的时候,服务器端的数据可能并没有更新,这样会带来很多无谓的网络传输,所以这是一种非常低效的实时方案。轮询

6Web实时通信方案这种方式从某种程度上减小了网络带宽和CPU利用率等问题。但是,如果服务端的数据变更非常频繁的话,这种机制和定时轮询比较起来没有本质上的性能提高。长轮询

7Web实时通信方案这种机制在用户体验上有一点问题,需要针对不同的浏览器设计不同的方案来改进用户体验,同时这种机制在并发比较大的情况下,对服务器端的资源是一个极大的考验。流

8Web实时通信方案Websocket与传统通信方式的效率对比场景A:1,000个客户端请求每秒:网络流量(871×1,000)=871,000bytes=6,968,000bits每秒(6.6Mbps)场景B:10,000个客户端请求每秒:网络流量(871×10,000)=8,710,000bytes=69,680,000bits每秒(66Mbps)场景A:1,000个客户端请求每秒:网络流量(2×1,000)=2,000bytes=16,000bits每秒(0.015Mbps)场景B:10,000个客户端请求每秒:网络流量(2×10,000)=20,000bytes=160,000bits每秒(0.153Mbps)传统HTTP通信方式使用websocket通信方式假设HTTP头是871字节(有些是2000字节)

9Web实时通信方案综合这几种方案,我们会发现,这些目前我们所使用的所谓的实时技术并不是真正的实时技术,它们只是在用Ajax方式来模拟实时的效果,在每次客户端和服务器端交互的时候都是一次HTTP的请求和应答的过程,而每一次的HTTP请求和应答都带有完整的HTTP头信息,这就增加了每次传输的数据量,而且这些方案中客户端和服务器端的编程实现都比较复杂。在实际的应用中,为了模拟比较真实的实时效果,开发人员往往需要构造两个HTTP连接来模拟客户端和服务器之间的双向通讯,一个连接用来处理客户端到服务器端的数据传输,一个连接用来处理服务器端到客户端的数据传输,这不可避免地增加了编程实现的复杂度,也增加了服务器端的负载,制约了应用系统的扩展性。总结:

目录ContentsSuccessWords10Websocket基本概念

11Websocket基本概念WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。WebSocket通信协议于2011年被IETF定为标准RFC6455,WebSocketAPI被W3C定为标准。在WebSocketAPI中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。websocket需要类似tcp的客户端和服务端通过握手连接,连接成功后才能相互通信。

12WebSocket解决的问题HTML5WebSocket设计出来的目的就是要取代轮询和Comet技术,使客户端浏览器具备像C/S架构下桌面系统的实时通讯能力。浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,连接建立以后,客户端和服务器端就可以通过TCP连接直接交换数据。WebSocket连接本质上就是一个TCP连接,所以在数据传输的稳定性和数据传输量的大小方面,和轮询以及Comet技术比较,具有很大的性能优势。Websocket出现使得浏览器提供socket的支持成为可能,从而在浏览器和服务器之间建立一条基于tcp的双向连

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档