聶開 張莎莎 王玨輝


摘要:傳統 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期.