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

歡迎光臨散文網(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搭建實時通信服務的評論 (共 條)

分享到微博請遵守國家法律
太康县| 安仁县| 东阿县| 朔州市| 固安县| 台前县| 柘城县| 横峰县| 苍溪县| 上高县| 崇左市| 益阳市| 郧西县| 南平市| 湖南省| 佛山市| 宜黄县| 南澳县| 贵港市| 聊城市| 灌南县| 芜湖市| 南平市| 大邑县| 开封县| 娄烦县| 昔阳县| 盖州市| 苏尼特右旗| 通山县| 泰来县| 托克托县| 大同县| 健康| 中西区| 额敏县| 曲靖市| 五原县| 紫阳县| 阿鲁科尔沁旗| 嘉禾县|