WebSocket

一、socket的由来

为了实现客户端和服务器端的双向通信,最开始想出的解决办法是不断的定时请求,但是耗流量多,也会消耗CPU的利用率。如图:

![poll.png](http://upload-images.jianshu.io/upload_images/1746525-7d8430339463fbc6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

后来又想出了改进版的长轮询Long polling,就是客户端发送HTTP给服务器之后,看有没有新消息,如果没有新消息,就一直等待。当有新消息的时候,才会返回给客户端。在某种程度上减小了网络带宽和CPU利用率等问题。但还是不理想。如图:

![Long polling.png](http://upload-images.jianshu.io/upload_images/1746525-0f59e6fda25c020f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后WebSocket出现了,即实现了客户端和服务器端的双向通信,而且协议的头部又没有HTTP的Header那么大,最重要的是效率也大幅提高。如图:

![socket.png](http://upload-images.jianshu.io/upload_images/1746525-d4d745586af3aa0d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容