如果搜索出来的连接不能用,把连接中间的日期去掉就好了,最近更改了所有连接的名字

前端开发网络传输之webSocket:为什么需要webSocket?

前端开发类 89℃

why websocket ?

  1. html5特点: 更加便于创建更加现代时尚、响应式的web应用程序
  2. html5 通信模式: websocket、服务端信息推送(SSE, server-send Event)、跨文档传信(cross-document messaging)

模式之间的较量

  1. 服务端信息推送(SSE, server-send Event): 只支持单向的通信,只支持服务端向客户端推信
  2. 跨文档传信(cross-document messaging): 可以跨源进行通信,但是它只专注于windows, tabs, and iFrames之间的通信,但是满足不了复杂的通信
  3. websocket: 满足复杂通信、支持双向通信

HTTP/1.0 和HTTP/1.1 效率底下的关键点

  1. HTTP 设计目的:用于文档的传输,满足不了我们现代桌面应用程序的复杂交互需求
  2. HTTP 协议数据传输需要更多的附带信息

HTTP 的特点

  1. 非双向通信:一次通信只支持一个方向的数据传输,客户端向服务端发送数据或者服务端向客户端发送数据,一个完整的通信需要两次HTTP通信才能完成
  2. 用户需要获得实时数据,必须不断的刷新页面或者使用轮询模拟推送技术例如Comet(延迟了服务端的响应)
    • 轮询: 客户端定时定向的向服务端发送请求查询消息,不管有无消息服务端都会响应,当服务端没有消息时,会发送关闭响应,客户端即关闭连接。但是定时请求不能满足服务端消息的实时性
    • 轮询非常适用于固定时间间隔的消息获取,但是得频繁的开启、关闭连接
    • 长轮询: 客户端与服务端建立一个保持一段时间的连接;原理:hanging-GET, pending-POST,直到服务端有消息返回或者设定的时间到时
    • 长轮询也没有在性能方面有显著的提升
    • 流(streaming):父页面创建一个隐藏的 iframe ,当服务端有数据传输给iframe然后回调夫页面的函数达到实时刷新数据;但是会受代理和防火墙阻拦的限制。

WebSocket特点

优点
1. 双向的通信
2. 无跨域问题
3. 实时数据传递
4. 一次握手实现
5. 节省带宽、CPU、降低延时,是性能的革新

缺点
6. 无需太多的通信附带信息
7. 无内置断开重连,需要自行设置
8. 无内置心跳监测,需用户根据需求设置

基本特点
9. 基础的网络协议,可以在其基础上创建其他标准协议

WebSocket 常见的库

  1. Socket.IO
  2. WebSocket Gateway

转载请注明:EZLOST » 前端开发网络传输之webSocket:为什么需要webSocket?

喜欢 (10)