最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用SpringBoot搭建實時通信服務

2021-10-20 09:20 作者:向上生長之路  | 我要投稿

在軟件開發(fā)過程中,經(jīng)常需要獲取服務器端數(shù)據(jù)來展示給用戶,對于數(shù)據(jù)的及時性有要求的場景,我們可能會采用長輪詢等方式,來以一定的頻率向服務器發(fā)起請求拉取數(shù)據(jù),輪詢方式會持續(xù)占用系統(tǒng)資源,效率較低,那么有沒有一種解決方案,能做到服務器端有數(shù)據(jù)更新,及時通知客戶端呢?通過使用websocket技術,我們可以做到客戶端與服務器端的全雙工通信,兩端都可以實時的發(fā)送數(shù)據(jù)給對方~,下面就給大家介紹下SpringBoot中怎么整合websocket技術

  • SpringBoot版本 2.4.5

使用方式

1.修改SpringBoot工程中的pom.xml配置,增加websocket的依賴


2.修改SpringBoot工程啟動類,添加@EnableWebSocket注解來啟用websocket能力支持


3.添加websocket配置
完整代碼參考:https://github.com/netbuffer/spring-boot-websocket-demo/blob/master/src/main/java/cn/netbuffer/springboot/websocket/demo/config/SpringWebSocketConfig.java


4.實現(xiàn)自己的消息處理器
完整代碼參考:https://github.com/netbuffer/spring-boot-websocket-demo/blob/master/src/main/java/cn/netbuffer/springboot/websocket/demo/websocket/handler/TextHandler.java


5.建立Controller控制器層映射方法,來測試主動推送消息到客戶端
完整代碼參考:https://github.com/netbuffer/spring-boot-websocket-demo/blob/master/src/main/java/cn/netbuffer/springboot/websocket/demo/controller/WebsocketController.java


6.編寫客戶端html代碼驗證websocket能力
完整代碼參考:https://github.com/netbuffer/UItest/blob/master/websocket/index.html


運行效果

啟動SpringBoot工程,再使用chrome瀏覽器訪問客戶端頁面,打開開發(fā)者工具



觀察開發(fā)者工具控制臺已經(jīng)打印出連接的日志,服務器端控制臺也已經(jīng)打印出連接日志
現(xiàn)在通過客戶端頁面發(fā)送一些消息,來查看服務器端日志是否有輸出~



觀察結果可以看到服務器端已經(jīng)收到對應內(nèi)容,并寫回響應消息給客戶端了

再測試下服務器主動推送消息給客戶端的效果,使用Postman工具訪問我們編寫的接口來發(fā)送一些消息給客戶端,注意session字符串可以從服務器日志打印中找到



觀察結果可以看到服務器已經(jīng)能實時推送相應的內(nèi)容給客戶端了~

完整測試工程參考:https://github.com/netbuffer/spring-boot-websocket-demo

使用SpringBoot搭建實時通信服務的評論 (共 條)

分享到微博請遵守國家法律
调兵山市| 双鸭山市| 仙游县| 马鞍山市| 南昌县| 五莲县| 奉新县| 资兴市| 南平市| 五家渠市| 乐清市| 汝阳县| 阿拉尔市| 南投市| 吉林省| 平湖市| 行唐县| 贡觉县| 阳西县| 车险| 铜鼓县| 东港市| 会同县| 临西县| 尼勒克县| 遂平县| 富源县| 长乐市| 章丘市| 佛冈县| 乳山市| 绍兴县| 安丘市| 托克逊县| 长汀县| 高尔夫| 青浦区| 什邡市| 揭西县| 于都县| 甘洛县|