umi 短轮询、长轮询和webSoket间的区别?

短轮询、长轮询和webSoket是三种不同的客户端与服务器通信的方式,他们在实时性、服务器压力和网络开销等方面存在一些区别。三者之间的区别如下:

段轮询(Short Polling):

1.工作原理: 客户端定时像服务器发送请求,服务器立即返回响应,然后客户端重新发送的请求等待响应。

2.运作方式: 客户端发送请求后, 服务器立即返回最新的数据或空响应,吴坤数据是否有更新。

3.实时性:实时性比较差,因为客户端需要等待每次轮询的响应时间。

4.服务器压力:对服务器资源的消耗比较高,因为每次轮询都需要处理请求。

5.网路开销:会产生较多的网络流量。

长轮询(Long Polling):

1.工作原理:客户端发送请求到服务器,服务器保持连续打开,直到有新数据可用或达到一定的超时时间才返回响应,然后客户端重新发送新的请求。

2.运作方式:与段轮询相比,长轮询的关键在于服务器保持响应的连接打开的事件更长,只在有数据是才返回响应

3.实时性:比短轮询好,因为服务器可以推送更新的数据,减少客户端等待时间

4.服务器压力:相对于短轮询来说,长轮询在无新数据时能够减少服务器请求吹次数,减低了服务器压力。

5.网络开销:尽管比短轮询减少了请求数量,但仍会产生一定的网络开销。

WebSocket:

1.工作原理:WebSocket使用了持久连接,通过双向通信的方式,在客户端与服务器之间建立一个长时间的连接,使得实时数据的传输更加高效。

2.运作方式:WebSocket建立一次连接后,客户端与服务器之间可以在任何时候互相发送数据,而无需每次都重新发起请求。

3.实时性:具有实时性,因为服务器可以主动推送数据给客户端,而不需要客户端频繁的发送请求。

4.服务器压力:WebSocket的连接维持在服务器上可能会增加一些负载,但相对轮询方式来说,压力较小。

5.网络开销:相对于轮询方式,WebScoket的网路开销较小,因为它只需要建立一次连接,并可以在连接打开期间进行双向通信。

总结来说,短轮询适用于实时性要求不高、对实时性较低的场景;长轮询适用于需要及时通知更新,但无需实时性非常高的场景;WebSocket适用于对实时性要求高的场景,能够提供双向通信和更低的网络开销。

你可能感兴趣的:(umi.js,uml)