本篇文章給大家分享的是有關(guān)WebSocket如何在SpringBoot中使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設流程,更有姚安免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
配置Bean
@Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }
java鏈接
/** * token為前端連接時的標識,后端根據(jù)此token維護用戶與webSocket的綁定 */ @Component @ServerEndpoint("/webSocket/{token}") public class WebSocket { private Session session; private static ConcurrentHashMap<String, WebSocket> webSocketMap = new ConcurrentHashMap<>(); @OnOpen public void onOpen(@PathParam(value = "token") String token, Session session) { this.session = session; webSocketMap.put(token, this); System.out.println("new connect:" + token + ". total :" + webSocketMap.size()); } @OnClose public void onClose(@PathParam(value = "token") String token) { webSocketMap.remove(token); System.out.println("disconnect:" + token + ", total:" + webSocketMap.size()); } @OnMessage public void onMessage(String message) { System.out.println("get message: " + message); } public void sendMessage(String message) { // 根據(jù)業(yè)務邏輯,找到token指向的webSocket WebSocket webSocket = webSocketMap.get(String.valueOf(message.charAt(0))); // 找不到返回 if (webSocket == null) { return; } try { webSocket.session.getBasicRemote().sendText(message); } catch (IOException e) { e.printStackTrace(); } } }
前端怎么寫
/** * WebSocket客戶端 * * 使用說明: * 1、WebSocket客戶端通過回調(diào)函數(shù)來接收服務端消息。例如:webSocket.onmessage * 2、WebSocket客戶端通過send方法來發(fā)送消息給服務端。例如:webSocket.send(); */ function getWebSocket() { /** * WebSocket客戶端 PS:URL開頭表示W(wǎng)ebSocket協(xié)議 中間是域名端口 結(jié)尾是服務端映射地址 */ var webSocket = new WebSocket(/*[[${webSocketUrl}]]*/ 'ws://localhost:8080/webSocket/2'); /** * 當服務端打開連接 */ webSocket.onopen = function (event) { console.log('WebSocket打開連接'); }; /** * 當服務端發(fā)來消息:1.廣播消息 2.更新在線人數(shù) */ webSocket.onmessage = function (event) { console.log('WebSocket收到消息:%c' + event.data, 'color:green'); }; /** * 關(guān)閉連接 */ webSocket.onclose = function (event) { console.log('WebSocket關(guān)閉連接'); }; /** * 通信失敗 */ webSocket.onerror = function (event) { console.log('WebSocket發(fā)生異常'); }; return webSocket; }
以上就是WebSocket如何在SpringBoot中使用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:WebSocket如何在SpringBoot中使用
網(wǎng)頁URL:http://www.ekvhdxd.cn/article46/pjeehg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、品牌網(wǎng)站制作、云服務器、用戶體驗、服務器托管、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)