美文网首页
实时提醒功能--websocket、轮询、http

实时提醒功能--websocket、轮询、http

作者: Santine | 来源:发表于2019-04-28 21:14 被阅读0次

Websocket protocol是html5一种新协议,实现了浏览器与服务器full-dulpex, 一开始的握手需要http请求完成。

原理:

websocket同http一样也是应用层协议,但是一种双向的通信协议,建立在tcp之上的。

连接过程:

浏览器、服务器建立tcp连接,三次握手。通信的基础,传输控制层,若失败后续不执行。

tcp连接成功后,浏览器通过http协议向服务器传送websocket支持的版本号等信息。(开始前的http握手)

服务器收到客户端的握手请求后,采用http协议回馈数据。

收到连接成功的消息后,通过tcp通道进行传输。

目的:

实现即时通讯,替代轮询或者comet技术。

技术对比:

技术名称

http请求非持久化,单向网络协议,建立后只允许浏览器向服务器发送请求后,服务器才能反馈相应的数据。

劣势:

不能保证消息的时效性,新的工单信息不能即时看到

增加运维成本

轮询轮询在特定的时间间隔,由浏览器向服务器发送request,然后将数据返回给浏览器,解决了消息的时效性问题,但需要每一个客户端每秒向服务发送请求。

劣势:

Http request的header非常长,为了传输小数据,付出代价太大,不合算,占用较多宽带。

websocket只需要服务器和浏览器通过http协议进行一个握手动作,单独建立一条tcp的通信进行数据传输。

优势:

保证消息的时效性

优化资源利用

减轻后台某些系统的运维成本。

建立的tcp通信通道,可以看到系统当前在线人数多少

办公协同工具必须用到的。

劣势:websocket不稳定

相关文章

网友评论

      本文标题:实时提醒功能--websocket、轮询、http

      本文链接:https://www.haomeiwen.com/subject/uuudnqtx.html