
Web消息推送
文章平均质量分 60
IT_码农
这个作者很懒,什么都没留下…
展开
-
Web即时通信技术 -- 服务器推送技术盘点
介绍Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web即时通讯方案主要有4种:客户端轮询:传统意义上的短轮询(Short Polling) 服务器端轮询:长轮询(Long Polling)Comet技术 全双工通信:WebSocket技术 单向服务器推送:SSE(Server-sent Events)短轮询:脚本发送的http请求轮询:客户端和服务器之间会一直进行连接,每隔一段时间就询问一次(setInterval)特点:连接数会很多,一个接收...原创 2021-12-01 14:14:46 · 322 阅读 · 0 评论 -
Web即时通信技术 -- Web Socket
WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为RFC 6455,后由RFC 7936补充规范。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。优点 在客户端和服务器之间保有一个持有的连接,两边可以...原创 2021-12-01 14:07:10 · 3840 阅读 · 0 评论 -
Web即时通信技术 -- SSE(Server Sent Event)
SSE是一种可以主动从服务端推送消息的技术。SSE的本质其实就是一个HTTP的长连接,只不过它给客户端发送的不是一次性的数据包,而是一个stream流,格式为text/event-stream。所以客户端不会关闭连接,会一直等着服务器发过来的新的数据流。原理SSE 使用 HTTP 协议,现有的服务器软件都支持。WebSocket 是一个独立协议。 SSE 属于轻量级,使用简单;WebSocket 协议相对复杂。 SSE 默认支持断线重连,WebSocket 需要自己实现。 SSE 一般只用来传原创 2021-12-01 11:38:18 · 9809 阅读 · 3 评论 -
Web即时通信技术 -- 长轮询
原理客户端发送一个请求,服务器会hold住这个请求; 直到监听的内容有改变,才会返回数据,断开连接(或者在一定的时间内,请求还得不到返回,就会因为超时自动断开连接); 客户端继续发送请求,重复以上步骤。长轮询是基于短轮询上的改进版本:主要是减少了客户端发起Http连接的开销,改成了在服务器端主动地去判断所关心的内容是否变化。所以其实轮询的本质并没有多大变化,变化的点在于:对于内容变化的轮询由客户端改成了服务器端(客户端会在连接中断之后,会再次发送请求,对比短轮询来说,大大减少了发起..原创 2021-11-30 23:44:16 · 460 阅读 · 0 评论 -
Web即时通信技术 -- 短轮询
原理客户端向服务器端发送一个请求,服务器返回数据,然后客户端根据服务器端返回的数据进行处理; 客户端继续向服务器端发送请求,继续重复以上的步骤,如果不想给服务器端太大的压力,一般情况下会设置一个请求的时间间隔。优缺点优点:不需要额外的开发成本,请求数据,解析数据,作出响应,仅此而已,然后不断重复。缺点:不断的发送和关闭请求,对服务器的压力会比较大,因为本身开启Http连接就是一件比较消耗资源的事情; 轮询的时间间隔不好控制。如果要求的实时性比较高,显然使用短轮询会有明显的短板,如果原创 2021-11-30 23:14:55 · 841 阅读 · 0 评论