00:00
零基础即时通讯MM开发入门系列文章的第二篇什么是samm聊天系统的实时性?随着移动互联网络的发展,I'M技术的应用已经不仅限于聊天应用本身,它早已融入各种应用形态中,比如直播中的主播互动联网游戏中的玩家互动外卖、打车应用中的实时位置共享,在些较易应用中的互动白板等。在这些风格迥异的应用场景下,I'M技术所呈现出来的功能形态虽有不同,但实时性这个技术特征并无区别。对于技术买卖汉来说,到底什么是I'M的实质性?该如何理解它?这就是本文想要讨论的主题。区别于强大的延生应用,V端的I用系统在很长一段时间内想实现真正的实质性是非常困难的,因为无法直接使用UDPTCP通信协。
01:00
1在HTML5中的web sock k出现之前,外端几乎没有真正异义常了双向实时通信这种技术存在。正因为如此,理解web端即时通信技术的演进,也就自然而然能循序渐进的体会到I'M系统中的实质性了。所以本文将围绕web端即时通信技术对你展开I'M实时性这个话题。在早期的web时代,一种被称为短轮询的数据获取模式出现。在短轮询模式下,I'M客户端定时轮询服务端,以便让用户知道是否有新的聊天消息存在。这种模式下,服务端收到请求后即可查询是否存在新消息,有就返回给客户端,没有则返回控并立即关闭连接。相较于前面用户需要手动去刷新页面的方式,这种模式只是将用户的手动变。
02:00
只为自动而已,技术本质并没有发生任何实质性改变。短能星这种模式就好比旧时代一个等待重要邮件的人,他需要每天自己跑到邮局,主动去问是否有自己的信件邮箱拿回家,如果没有,则第二天继续去问,一来一去非常低下。正如你所见,用短轮询技术来保证I'M的实时性确实难说优雅,不过这难不倒无所不能的程序语员。一种被称为长轮询的数据获取模式出现了。长轮询的优点是,一、相较于短连峋,一定程度降低了服务端请求复杂,二、相较于段联旬,实时性有提升,因为他是主动等消息对于外端。
03:00
即时通讯技术来说,上面提到的无论是短轮询还是长轮询,他们都存在实时性盲学。先看看短轮询这张图,很明显,短轮询在每次轮询结束和下次轮训开始的间隔期内是无法感知到新消息的,这也便形成了实时性盲区。换句话说,短轮巡技术在实时性盲区内无法做到实施。再来看看长轮巡,跟短轮巡道理一样,长轮巡在每次轮训结束和下次轮训开始的间隔期依然会形成实质性盲区,Web sockage web外按真正的实质性变成可能。下图是就是轮询技术跟lap sock的对比图,从上图可以看出,轮询技术一问一答在下一个请求发起之前。
04:00
存在实时性盲区。Lap sok d单建立连接后,数据可以随时双向通信及客户端可以随时向服务端发消息,服务端也可以随时通知客户端有新消息。本文小结本文以未短及时通讯技术的演进为例,从短轮询到长论学再到web socket理论,联系实际的讲解了web端R'M实时性的技术变迁,从而帮助读者理解IM中实时性这个最为关键的技术特征。
我来说两句