李纪涛
(国家广播电视总局无线电台管理局,北京 100866)
1 WebSocket 技术
WebSocket 是HTML5 开始提供的一种在单个TCP 连接上进行全双工通讯的协议,允许服务端主动向客户端推送数据, 使得客户端和服务器之间的数据交换变得更加简单。在Websocket 技术出现之前,由于Http 固有的技术特点,只能由客户端对服务端发起Http 请求,然后服务端返回最新的数据给客户端,而不能由服务端主动发起对客户端的连接请求及数据发送。为了实现推送技术,只能采用Ajax 轮询的方式,这种方式有明显的缺点,即浏览器需要不断的向服务器发出请求,浪费系统资源、数据实时性差。而Websocket 的出现解决了以上的问题[1]。WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送[2]。MSE (Media Source Extensions),即媒体源扩展,可以理解为一种API,其提供了实现无插件且基于Web 的流媒体的功能。通过MSE,媒体串流能够通过JavaScript 创建,并且可以使用HTML5 的