日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

springboot+vue實現websocket配置過程解析

瀏覽:131日期:2023-01-27 14:23:02

1.引入依賴

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> <version>1.3.5.RELEASE</version></dependency>

2.配置ServerEndpointExporter

@Configurationpublic class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }}

這個bean會自動注冊使用了@ServerEndpoint注解聲明的Websocket endpoint。

3.創建websocket的ServerEndpoint端點

@Component@ServerEndpoint('/socket')public class WebSocketServer { /** * 全部在線會話 */ private static Map<String, Session> onlineSessions = new ConcurrentHashMap<>(); /** * 當客戶端打開連接:1.添加會話對象 2.更新在線人數 */ @OnOpen public void onOpen(Session session) { onlineSessions.put(session.getId(), session); } /** * 當客戶端發送消息:1.獲取它的用戶名和消息 2.發送消息給所有人 * <p> * PS: 這里約定傳遞的消息為JSON字符串 方便傳遞更多參數! */ @OnMessage public void onMessage(Session session, String jsonStr) { } /** * 當關閉連接:1.移除會話對象 2.更新在線人數 */ @OnClose public void onClose(Session session) { onlineSessions.remove(session.getId()); } /** * 當通信發生異常:打印錯誤日志 */ @OnError public void onError(Session session, Throwable error) { error.printStackTrace(); } /** * 公共方法:發送信息給所有人 */ public void sendMessageToAll(String jsonMsg) { onlineSessions.forEach((id, session) -> { try {session.getBasicRemote().sendText(jsonMsg); } catch (IOException e) {e.printStackTrace(); } }); }}

4.前端配置連接與接收消息

<script>import Vue from ’vue’import ElementUI from ’element-ui’;import ’element-ui/lib/theme-chalk/index.css’; // 默認主題Vue.use(ElementUI, {size: ’small’});import ’@/directives/directives.js’import Locale from ’@/mixins/locale’;import { t } from ’@/locale’; /** * WebSocket客戶端 * * 使用說明: * 1、WebSocket客戶端通過回調函數來接收服務端消息。例如:webSocket.onmessage * 2、WebSocket客戶端通過send方法來發送消息給服務端。例如:webSocket.send(); */ function getWebSocket() { /** * WebSocket客戶端 PS:URL開頭表示WebSocket協議 中間是域名端口 結尾是服務端映射地址 */ var webSocket = new WebSocket(’ws://10.10.10.3:9117/socket’);//建立與服務端的連接 /** * 當服務端打開連接 */ webSocket.onopen = function (event) { console.log(’WebSocket打開連接’); }; /** * 當服務端發來消息:1.廣播消息 2.更新在線人數 */ webSocket.onmessage = function (event) { console.log(event) console.log(’WebSocket收到消息:%c’ + event.data, ’color:green’); //獲取服務端消息 var message = JSON.parse(event.data) || {}; console.log(message)// }; /** * 關閉連接 */ webSocket.onclose = function (event) { console.log(’WebSocket關閉連接’); }; /** * 通信失敗 */ webSocket.onerror = function (event) { console.log(’WebSocket發生異常’); }; return webSocket; } var webSocket = getWebSocket(); /** * 通過WebSocket對象發送消息給服務端 * 此處沒有主動發消息給服務端,如果調用此方法,則會發送消息至socket服務端onMessage()方法上 */ function sendMsgToServer() { var $message = $(’#msg’); if ($message.val()) { webSocket.send(JSON.stringify({username: $(’#username’).text(), msg: $message.val()})); $message.val(null); } }export default { }

5.實現后端推送消息至瀏覽器端

@Autowired private WebSocketServer webSocketServer;//注入socket服務 @Override public PuStatesResult queryPuStateUseInfo(QueryCondition condition) { String sql = condition.generatorSql(); if(sql == null){ return null; } List<PuState> puStateList = null; puStateList = puStateMapper.getPusBySql(sql); if(puStateList == null || puStateList.size() == 0){ return null; } PuStatesResult result = new PuStatesResult(); result.setPuStateList(puStateList); result.computePuStates(); if(false == condition.isWithDetail()){ result.setPuStateList(null); } //todo Gson gson = new Gson(); String json = gson.toJson(result); webSocketServer.sendMessageToAll(json);//調用第3節中的方法 return result; }

此處是前端查詢時,服務器將一些數據發送至前端,假如我們在實現有些前端數據顯示的時候,當查詢一次后,如果沒有斷開連接,希望后端數據更新后,前端能接收最近數據。那么可以在數據更新接口中,調用自己實現的socket服務端邏輯,推送消息至服務端,然后由服務端監聽,并更新數據

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美四区| 国产九一精品| 国产盗摄——sm在线视频| 国产精品一区免费在线| 国产欧美日韩精品高清二区综合区| 日本天堂一区| 精品在线网站观看| 国产一区2区| 黄色aa久久| 欧美日韩一二| 亚洲激情精品| 影音先锋久久精品| 日韩国产精品久久久久久亚洲| 在线精品一区| 日韩1区2区日韩1区2区| 国产精品xxx在线观看| 精品国产午夜肉伦伦影院| 欧美韩日一区| 久久高清精品| 蜜桃久久av一区| 日本欧美韩国一区三区| 久久精品国产99国产精品| 91亚洲成人| 国产综合精品| 中文字幕日本一区二区| 国产精品久久乐| 亚洲涩涩在线| 亚洲欧美久久久| 一区二区国产精品| 欧美日韩91| 国产高潮在线| 性色一区二区| 国产日韩精品视频一区二区三区| 另类小说一区二区三区| 久久久久午夜电影| 亚洲乱码久久| 精品视频高潮| 一区三区视频| 国产午夜一区| 在线日韩电影| 青青伊人久久| 日韩久久精品网| 午夜精品婷婷| 日本欧美一区| 国产美女高潮在线| 男女性色大片免费观看一区二区 | 精品一区在线| 日本午夜精品| 日韩在线看片| 亚州av一区| 日韩中文字幕高清在线观看| 中文字幕一区二区三区日韩精品 | 欧美成人精品午夜一区二区| 国产99久久久国产精品成人免费| 亚洲精品一二三**| 日韩欧美不卡| 欧美亚洲一级| 在线国产一区| 精品三级在线观看视频| 视频一区二区中文字幕| 91免费精品| 91精品国产一区二区在线观看| 日韩欧美精品综合| 91福利精品在线观看| 欧美va亚洲va日韩∨a综合色| 日韩欧美久久| 亚洲va在线| 欧美aa在线视频| 日韩一区精品视频| 久久久成人网| 麻豆久久久久久| 亚洲精品观看| 欧美精品黄色| 捆绑调教日本一区二区三区| 91成人在线| 水蜜桃久久夜色精品一区的特点| 成人福利av| 欧美激情91| 日本久久一区| 丝袜国产日韩另类美女| 日韩av有码| 国产精品任我爽爆在线播放| 伊人久久亚洲| 午夜久久久久| 日本国产精品| 丁香婷婷久久| 人人爱人人干婷婷丁香亚洲| 视频一区二区欧美| 欧美在线亚洲综合一区| 精品丝袜在线| 国产aⅴ精品一区二区四区| 国产欧美在线观看免费| 亚洲开心激情| 国产精品腿扒开做爽爽爽挤奶网站| 日韩免费av| 久久丁香四色| 97成人在线| 午夜日韩影院| 亚洲区国产区| 鲁大师成人一区二区三区| 蜜桃tv一区二区三区| 日韩一区二区中文| 国产 日韩 欧美 综合 一区| 国产精品成人国产| 国产免费播放一区二区| 欧美日本三区| 欧美视频一区| 日韩国产欧美在线播放| 日韩精品乱码av一区二区| 蜜桃av一区二区| 久久不射网站| 午夜在线一区| 久久亚洲影院| 天堂成人免费av电影一区| 一区在线视频观看| 九九综合在线| 免费观看久久av| 欧美亚洲国产一区| 欧美中文一区二区| 91精品久久久久久久久久不卡| 日韩中文首页| 欧美1级日本1级| 国产亚洲午夜| 老牛影视一区二区三区| 亚洲永久精品唐人导航网址| 亚洲欧美日韩一区在线观看| 免费在线成人网| 四虎国产精品免费久久| 欧美一区免费| 国产精品chinese| 国产一区调教| 日韩电影在线视频| 国产一区观看| 丝袜美腿亚洲色图| 日韩欧美美女在线观看| 国产欧美日韩一区二区三区四区 | 久久亚洲色图| 免费看日韩精品| 亚洲精品一级| 四虎在线精品| 毛片不卡一区二区| 神马久久午夜| 在线成人直播| 日本不卡高清| 欧美国产另类| 在线一区视频观看| 日韩午夜av在线| 日本在线不卡视频一二三区| 国产欧美精品久久| 色综合五月天| 国产一区欧美| 国产亚洲在线观看| 天堂va在线高清一区| 国产精品一页| 日韩三区免费| 免费看欧美美女黄的网站| 日本欧美大码aⅴ在线播放| 久久精品九色| 欧美成人日韩| 久久国内精品视频| 日韩欧美精品| 人人精品人人爱| 久久av日韩| 久久在线免费| 日韩精品国产精品| 成人精品久久| 欧美精品一二| 日本不卡高清视频| а√天堂中文在线资源8| 在线视频免费在线观看一区二区| 日本午夜精品一区二区三区电影| 福利一区二区三区视频在线观看| 国产韩日影视精品| 国产亚洲欧美日韩精品一区二区三区 | 久久麻豆精品| 蜜臀久久99精品久久久画质超高清| 日本不卡中文字幕| 国产精品专区免费| 蜜臀av国产精品久久久久| 国产精品a久久久久| 免费视频一区三区| 国产乱码精品一区二区三区亚洲人 | 国产一精品一av一免费爽爽| 高清不卡亚洲| av不卡在线看| 久久亚洲道色| 亚洲欧美日韩国产一区| 精品国产成人| 只有精品亚洲| 黄毛片在线观看| 日韩高清电影免费| 在线视频观看日韩| 欧美国产中文高清| 老司机精品久久| 日韩88av| 国产区精品区| 久久亚洲精品伦理| 88xx成人免费观看视频库| 欧美综合精品| 成人羞羞在线观看网站|