websocket 在實際的應用中不單單能作聊天應用,還能夠利用websocket長鏈接保持數據的實時更新以及信息的推送。html
websocket 的實現的關鍵點java
第一個:首先須要引入 java-websocket.jar 包, 這裏我使用的版本時1.3.1。web
接下來就開始了,不一樣的業務有不一樣的需求,咱們根據業務需求封裝一下websocket 請求websocket
在runable中實例websocket對象,並在四個回掉函數中構建本身的業務邏輯,java-web
接着定義send方法發送請求socket
,定義一個接口用於接收服務端返回的數據。函數
其餘的例如destory和開啓線程方法就很少贅述。.net
第二:由於咱們須要websocket保持與服務端的鏈接,不單單在程序運行時,當鎖屏以及程序後臺時都須要獲取服務端推送的信息,這時候咱們就須要把websocket運行在service上了。線程
service 與程序交互則經過廣播來完成。 在服務類中註冊一個廣播接收器和廣播。當接收到數據以後在onMessage方法中處理,以後再有廣播發送到客戶端。3d
接下來咱們還須要定義一箇中間廣播類,用於接收service返回的信息到頁面,以及一個接口用於頁面的數據獲取
到此總體的思路以及完成。
使用的話很簡單,先實例一箇中間廣播類對象而後發送請求,在實現接口
用於處理對應的業務邏輯。
websocket核心:重連 拉起 心跳 解析 消息轉發
《WebSocket詳解(一):初步認識WebSocket技術》
《WebSocket詳解(二):技術原理、代碼演示和應用案例》
《WebSocket詳解(三):深刻WebSocket通訊協議細節》
《WebSocket詳解(四):刨根問底HTTP與WebSocket的關係(上篇)》