websocket 在實際的應用中不僅僅能做聊天應用,還可以利用websocket長連接保持數據的實時更新以及信息的推送。
websocket 的實現的關鍵點
第一個:首先需要引入 java-websocket.jar 包, 這里我使用的版本時1.3.1。
接下來就開始了,不同的業務有不同的需求,我們根據業務需求封裝一下websocket 請求
在runable中實例websocket對象,並在四個回掉函數中構建自己的業務邏輯,
接着定義send方法發送請求
,定義一個接口用於接收服務端返回的數據。
其他的例如destory和開啟線程方法就不多贅述。
第二:因為我們需要websocket保持與服務端的連接,不僅僅在程序運行時,當鎖屏以及程序后台時都需要獲取服務端推送的信息,這時候我們就需要把websocket運行在service上了。
service 與程序交互則通過廣播來完成。 在服務類中注冊一個廣播接收器和廣播。當接收到數據之后在onMessage方法中處理,之后再有廣播發送到客戶端
。
接下來我們還需要定義一個中間廣播類,用於接收service返回的信息到頁面,以及一個接口用於頁面的數據獲取
到此整體的思路以及完成。
使用的話很簡單,先實例一個中間廣播類對象然后發送請求,在實現接口
用於處理對應的業務邏輯。
websocket核心:重連 拉起 心跳 解析 消息轉發
《WebSocket詳解(一):初步認識WebSocket技術》
《WebSocket詳解(二):技術原理、代碼演示和應用案例》
《WebSocket詳解(三):深入WebSocket通信協議細節》
《WebSocket詳解(四):刨根問底HTTP與WebSocket的關系(上篇)》
書籍:
