WebSocket技术在Web端和服务端之间的应用
2016-05-14聂开张莎莎王珏辉
聂开 张莎莎 王珏辉
摘要:传统 Web 模式在处理高并发及实时性需求的时候,会遇到难以逾越的瓶颈,我们需要一种高效节能的双向通信机制来保证数据的实时传输。WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,在老人健康看护系统中使用Websocket技术可以很好的解决web端和服务端之间数据通信实时性和稳定性的问题。
关键词:Websocket技术 实时性 服务器
中图分类号:TP393.02 文献标识码:A 文章编号:1007-9416(2016)07-0077-01
1 WebSocket技术的机制分析
WebSocket是一种新的WEB数据通信应用协议,它实现了WEB客户端与服务端之间全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它是建立在TCP协议之上的,同HTTP一样通过TCP来传输数据,但是它和HTTP最大不同是:
(1)WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser都能主动的向对方发送或接收数据,就像基于TCP/IP协议的Socket通信的方式一样;
(2)WebSocket需要类似TCP的客户端和服务器端通过握手连接,连接成功后才能相互通信。
相对于传统HTTP每次请求-应答都需要客户端与服务端建立连接的模式,WebSocket是类似Socket的TCP长连接的通讯模式,一旦WebSocket连接建立后,后续数据都以帧序列的形式传输。在客户端断开WebSocket连接或Server端断掉连接前,不需要客户端和服务端重新发起连接请求。在海量并发及客户端与服务器交互负载流量大的情况下,极大的节省了网络带宽资源的消耗,有明显的性能优势,且客户端发送和接受消息是在同一个持久连接上发起,实时性优势明显如图1所示。
2 WebSocket技术实现
WebSocket的实现分为客户端和服务端两部分,客户端(通常为浏览器)发出WebSocket连接请求,服务端响应,实现类似TCP握手的动作,从而在浏览器客户端和WebSocket服务端之间形成一条HTTP长连接快速通道。两者之间后续进行直接的数据互相传送,不再需要发起连接和相应。WebSocket服务端在各个主流应用服务器厂商中都符合标准,IBM的WebSphere,微软的IIS,Apache的Tomcat,redhat的JBOSSEAP。对于WebSocket客户端浏览器有Chrome,Firefox,IE,Safari等。
3 老人健康看护系统应用分析
老人健康看护系统中,会涉及相关的硬件设备,例如基于Zigbee无线通信技术的呼叫器、呼叫手表、路由设备、老人体征监测床垫等,这些硬件设备都会连接到服务端,并且实时上传数据到服务器,当服务器收到相关数据,再发送到Web客户端,显示数据给用户,在这个过程中,最重要的就是服务端能够及时准确的推送数据到用户的手机或者PC上,显然采用WebSocket技术非常重要,可以有效解决并发的问题,也可以解决数据实时显示的问题。
当1号和2号客户端上线,会打开WebSocket的HTTP长连接,A上线以后,当其信息状态发生变化的时候,会通过WebSocket发送实时消息,并且能够准确的推送到2号显示。这样任何的硬件设备上线或者离线,都会及时通知给服务器,服务器会准确及时的推送消息给监控的手机或电脑加以显示如图2所示。
参考文献
[1]李代立,陈容.WebSocket在Web实时通信领域的研究[J].电脑知识与技术,2010年28期.
[2]温照松,易仁伟,姚寒冰.基于WebSocket的实时Web应用解决方案[J].电脑知识与技术,2012年16期.
[3]薛陇彬,刘钊远.基于WebSocket的网络实时通信[J].计算机与数字工程,2014年3期.