您可以阅读本文档,了解Websocket的定义、优势及使用场景。
Websocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。因此,在Websocket中,浏览器和服务器只需要完成一次握手,两者之间就可以直接创建持久性的连接,并进行双向数据传输。客户端和服务器之间的数据交换变得更加简单。
目前,很多网站为了实现推送技术,所用的技术都是Ajax轮询。轮询是在特定的时间间隔(例如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。
这种传统的模式有一个很明显的缺点,即浏览器需要不断的向服务器发出请求。然而HTTP请求可能包含较长的头部,其中真正有效的数据只是很小一部分,因此会浪费很多的带宽等资源。
HTML5定义的Websocket协议具有如下特点:
业务场景 | 场景概述 |
---|---|
弹幕 | 终端用户A在自己的手机端发送了一条弹幕信息,但是您也需要在用户A的手机端上将其他N个客户端发送的弹幕信息一并展示。需要通过Websocket协议将其他客户端发送的弹幕信息从服务端全部推送至用户A的手机端,从而使用户A可以同时看到自己发送的弹幕和其他用户发送的弹幕。 |
在线教育 | 老师进行一对多的在线授课,在客户端内编写的笔记、大纲等信息,需要通过Websocket协议实时推送至多个学生的客户端来完成。 |
股票等金融产品实时报价股 | 股票黄金等价格变化迅速。价格在变化后,可以通过Websocket协议将变化后的价格实时推送至世界各地的客户端,方便交易员迅速做出交易判断。 |
体育实况更新 | 由于全世界体育爱好者数量众多,因此比赛实况成为其最为关心的热点。这类新闻中最好的体验就是利用Websocket达到实时的更新。 |
视频会议和聊天 | 尽管视频会议并不能代替和真人相见,但是应用场景众多。Websocket可以帮助两端或多端接入会议的用户实时传递信息。 |
基于位置的应用 | 越来越多的开发者借用移动设备的GPS功能来实现基于位置的网络应用。如果您一直记录终端用户的位置(例如:您的App记录用户的运动轨迹),就可以收集到更加细致化的数据。 |