websocket1111

上传人:夏** 文档编号:570601979 上传时间:2024-08-05 格式:PPT 页数:21 大小:1.66MB
返回 下载 相关 举报
websocket1111_第1页
第1页 / 共21页
websocket1111_第2页
第2页 / 共21页
websocket1111_第3页
第3页 / 共21页
websocket1111_第4页
第4页 / 共21页
websocket1111_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《websocket1111》由会员分享,可在线阅读,更多相关《websocket1111(21页珍藏版)》请在金锄头文库上搜索。

1、websocket1111websocket1111背景实时数据游戏聊天SNS(社交网络服务)直播年轻的年轻人啊创新无限的未来常用web实时技术年轻的年轻人啊创新无限的未来轮询轮询最早的一种实现实时 Web 应用的方案。客户端以一定的时间间隔向服务端发出请求,以频繁请求的方式来保持客户端和服务器端的同步。在客户端的页面使用隐藏窗口向服务端发出长连接请求。服务器端接到这个请求后作出回应并不断更新连接状态以保证客户端和服务器端的连接不过期。长轮询长轮询长轮询是对定时轮询的改进和提高,当服务器端没有数据更新的时候,连接会保持一段时间周期,直到数据或状态改变或者时间过期。流流轮询年轻的年轻人啊创新无限

2、的未来轮询场景再现场景再现:客户端:啦啦啦,有没有新信息(Request)服务端:没有(Response)客户端:啦啦啦,有没有新信息(Request)服务端:没有。(Response)客户端:啦啦啦,有没有新信息(Request)服务端:你好烦啊,没有啊。(Response)客户端:啦啦啦,有没有新消息(Request)服务端:好啦好啦,有啦给你。(Response)客户端:啦啦啦,有没有新消息(Request)服务端:。没。没。没有(Response)年轻的年轻人啊创新无限的未来长轮询年轻的年轻人啊创新无限的未来长轮询场景再现:场景再现:客户端:啦啦啦,有没有新信息,没有的话就等有了才返回

3、给我吧(Request)服务端:额。 等待到有消息的时候。来 给你(Response)客户端:啦啦啦,有没有新信息,没有的话就等有了才返回给我吧(Request)年轻的年轻人啊创新无限的未来流流技术方案通常就是使用一个隐藏的窗口向服务器端发起一个长连接的请求,服务端接收到这个请求以后做出回应,并不断跟新连接状态以保证客户端和服务端不过期,通过这种机制将服务端的信息源源不断的推向客户端年轻的年轻人啊创新无限的未来存在问题非真正实时技术非真正实时技术使用 Ajax 方式模拟实时效果,每次客户端和服务器端交互,都是一次 HTTP 的请求和应答过程,且每次的 HTTP 请求和应答都带有完整 HTTP

4、头信息,增加传输的数据量年轻的年轻人啊创新无限的未来WEBSOCKETWebsocket是一种双向通信协议,在建立连接后,websocket服务器和浏览器客户端都能主动向对方发送和接收数据,如同socket;websocket需要类似tcp的客户端和服务端通过握手连接,连接成功后才能相互通信。年轻的年轻人啊创新无限的未来WEBSOCKET年轻的年轻人啊创新无限的未来图图2. 传统传统http客户端服务器交互客户端服务器交互图图1. websocket客户端服务器交互客户端服务器交互WEBSOCKET年轻的年轻人啊创新无限的未来Websocket类似socket的http长连接通信方式,一旦连接

5、建立,后续数据都以帧形式传输,在客户端或服务器断开连接前,不需要客户端和服务器重新发起连接请求,在高并发及负载流量大的情况下,可节省网络带宽资源,且客户端发送和接收信息是在同一个持久连接上发起,实时性优势明显。传统http每次请求-应答都需要客户端服务器建立连接模式。WEBSOCKET年轻的年轻人啊创新无限的未来客户端到服务端客户端到服务端GET /chat HTTP/1.1 Host: Connection: Upgrade Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 Upgrade: WebSocket Sec-WebSocket-Key1: 41 465

6、46xW%0l 1 5 Origin: http:/ 8-byte security key GET /chat HTTP/1.1 :打开阶段握手,使用http协议。Upgrade:websocket,表示请求为特殊http请求,请求的目的是要将客户端和服务端的通信协议从http上升为websocket;Sec-websocket-key、8-byte security key,客户端向服务端提供的握手信息;WEBSOCKET年轻的年轻人啊创新无限的未来HTTP/1.1 101 WebSocket Protocol Handshake Upgrade: WebSocket Connection

7、: Upgrade WebSocket-Origin: http:/ WebSocket-Location: ws:/ 16-byte hash response16-byte hash response:服务端解析客户端头信息,生成16位安全密钥返回给客户端,以表明服务端获取了客户端的请求;一旦连接建立,后续就可以通过tcp通信(双向传输数据)。服务端到客户端服务端到客户端数数据据通通信信年轻的年轻人啊创新无限的未来WebSocket的数据在发送时,被组织为依次序的一串数据帧数据帧(data frame),然后进行传送。传送的帧类型分为两类:数据帧(data frame)和控制帧(Contr

8、ol frame)。数据帧可以携带文本数据或者二进制数据;控制帧包含关闭帧(Close frame)和Ping/Pong帧数数据据通通信信年轻的年轻人啊创新无限的未来MASK值:从客户端进行发送的帧必须置此位为1,从服务器发送的帧必须置为0。如果任何一方收到的帧不符合此要求,则发送关闭帧(Close frame)关闭连接。opcode的值: 0x1代表此帧为文本数据帧, 0x2代表此帧为二进制数据帧, 0x8为控制帧中的连接关闭帧(close frame), 0x9为控制帧中的Ping帧, 0xA(十进制的10)为控制帧中的Pong帧。Ping/Pong帧: Ping帧和Pong帧用于连接的保

9、活(keepalive)或者诊断对端是否在线。这两种帧的发送和接收不对WEB应用公开接口,由实现WebSocket协议的底层应用(例如浏览器)来实现它。浏浏览览器器支支持持情情况况年轻的年轻人啊创新无限的未来主流的浏览器(包括 PC 和移动终端)现已都支持标准的 HTML5 的 WebSocket API,这意味着客户端的 WebSocket JavaScirpt 脚本具备良好的一致性和跨平台特性:浏览器浏览器支持情况支持情况ChromeChrome version 4+支持FirefoxFirefox version 5+支持IEIE version 10+支持SafariIOS 5+支持Android broswerAndroid 4.5+支持WEBSOCKET客客户户端端API示示例例年轻的年轻人啊创新无限的未来SPRINGMVC整整合合WEBSOCKET年轻的年轻人啊创新无限的未来谢谢!谢谢!年轻的年轻人啊创新无限的未来结束结束

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号