websocket介绍
我们聊聊轮询技术,什么是轮询?轮询就是在特定的时间间隔,由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。
轮询分为两种:
短轮询:通过不断的向服务端发送数据,客户端发送Request,服务端直接返回Response(不管服务端数据有没有改变)。
长轮询:通过不断的向服务端发送数据,客户端发送Request,服务端发现数据没有改变,就将这个Request挂起,直到有最新数据再发送Response给客户端。
通过上面短轮询的介绍,不难发现它的缺点,如果在某段时间内,服务端数据没有任何变化,但客户端还是不停的发送请求给服务端,服务端也不管数据是否变化,直接返回结果给客户端,那么在这段时间内的所有请求其实是无效的。
这个时候长轮询就弥补了短轮询的缺点,客户端发送请求,服务器会查询数据是否更新,没有更新就会挂起这个请求,直到有新数据,服务端才会把Response返回给客户端,这样是不是就完美了?其实不是,服务端将客户端的请求挂起会导致资源的浪费,比如有1W人请求服务端,那这个时候服务端这边就要开启1W个线程,导致资