ZBLOG

将下面一段文字,以论文的语言形式改写,要中文的: 对于早期 Web 端的 IM,无法直接使用 UDP、TCP通讯协议,而 HTTP 协议是一种单工通信的请求响应模式,依赖于用户主动获取数据,对于 IM 系统来说,无法及时获取最新到的聊天信息,因为用户不知道新的消息什么时候到来,服务端没有办法主动通知用户。 为了解决消息的实时性问题,出现了短轮询技术。在这种模式下,客户端定时轮询服务端,检测是否有新的消息的产生。若有新的消息产生,则拉回到客户端本地。短轮询技术简单粗暴,易于实现,若要提升实...

在早期的 Web 端聊天应用中,由于无法直接使用 UDP、TCP 通讯协议,HTTP 协议成为了一种单向请求响应模式的通信方式。然而,对于实现即时通信系统而言,该方式存在难以获取最新聊天信息的问题,因为用户不知道新消息何时到达,服务端也无法主动通知用户。

为了解决这个实时性问题,短轮询技术被广泛采用。该技术下,客户端定时向服务端发送请求以检测是否有新消息。如果有新消息产生,服务器将消息推回给客户端。虽然短轮询技术简单易行,但是其需要高频率地发起请求才能提高实时性,导致多数请求是无效的,增加了服务端的性能负载和系统资源的浪费。因此,长轮询技术应运而生。与短轮询技术相比,长轮询技术可以将连接挂起一段时间,在此期间若有新消息产生,立即返回给客户端。虽然长轮询技术可以降低服务端负载、提高实时性,但在长轮询结束后的窗口期仍然存在实时性盲区。

HTTP 协议本身是一个设计目的是简化传统 TCP 长连接通信的短连接协议,因此无法从根本上解决即时通信系统的实时性问题。直到 HTML 5 提供了 WebSocket 协议,Web 端才出现了真正意义上的双向即时通信。WebSocket 协议提供了原生的全双工跨域通讯方式,真正实现了双向实时通信。这样可以减少轮询技术中高频率无效请求,降低网络负载和服务端的 QPS 压力,并且每次连接可以随时使用,不必再发起 HTTP 请求,减少了冗余协议头信息的携带。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=2333

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?