亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue+Java 通過(guò)websocket實(shí)現(xiàn)服務(wù)器與客戶端雙向通信操作

瀏覽:3日期:2022-08-24 11:01:19

1. vue代碼

methods: { //在方法里調(diào)用 this.websocketsend()發(fā)送數(shù)據(jù)給服務(wù)器 onConfirm () { //需要傳輸?shù)臄?shù)據(jù) let data = { code: 1, item: ‘傳輸?shù)臄?shù)據(jù)’ } this.websocketsend(JSON.stringify(data)) }, /* */ initWebSocket () { // 初始化weosocket let userinfo = getUserInfo() let username = userinfo.waiter_userid this.websock = new WebSocket(’ws://’ + baseURL + ’/websocket/’ + username) this.websock.onmessage = this.websocketonmessage this.websock.onerror = this.websocketonerror this.websock.onopen = this.websocketonopen this.websock.onclose = this.websocketclose }, websocketonopen () { // 連接建立之后執(zhí)行send方法發(fā)送數(shù)據(jù) let data = { code: 0, msg: ’這是client:初次連接’ } this.websocketsend(JSON.stringify(data)) }, websocketonerror () { console.log( ’WebSocket連接失敗’) }, websocketonmessage (e) { // 數(shù)據(jù)接收 console.log(’數(shù)據(jù)接收’ + e.data) }, websocketsend (Data) { // 數(shù)據(jù)發(fā)送 this.websock.send(Data) }, websocketclose (e) { // 關(guān)閉 console.log(’已關(guān)閉連接’, e) } }, created () { console.log(’created’) this.initWebSocket() }, data () { return { websocket: null } }, destroyed () { this.websock.close() // 離開(kāi)路由之后斷開(kāi)websocket連接 }

2. java代碼

項(xiàng)目引入tomcat安裝目錄里的兩個(gè)依賴(lài)包

Vue+Java 通過(guò)websocket實(shí)現(xiàn)服務(wù)器與客戶端雙向通信操作

package diancan.servlet;import java.io.IOException;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import javax.websocket.Session;import javax.websocket.server.PathParam;import javax.websocket.server.ServerEndpoint;@ServerEndpoint('/websocket/{username}')public class WebSocket { private static int onlineCount = 0; private static Map<String, WebSocket> clients = new ConcurrentHashMap<String, WebSocket>(); private Session session; private String username; @OnOpen public void onOpen(@PathParam('username') String username, Session session) throws IOException { this.username = username; this.session = session; addOnlineCount(); clients.put(username, this); System.out.println('已連接' + username); } @OnClose public void onClose() throws IOException { clients.remove(username); subOnlineCount(); } @OnMessage public void onMessage(String message) throws IOException { DataWrapper res = new DataWrapper(); System.out.println('message:' + message); JSONObject req = JSONObject.parseObject(message);// System.out.println('item:' + req.getJSONObject('item'));// System.out.println('item:' + req.getInteger('code')); // 發(fā)送數(shù)據(jù)給服務(wù)端 sendMessageAll(JSON.toJSONString(res)); } @OnError public void onError(Session session, Throwable error) { error.printStackTrace(); } public void sendMessageTo(String message, String To) throws IOException { // session.getBasicRemote().sendText(message); // session.getAsyncRemote().sendText(message); for (WebSocket item : clients.values()) { if (item.username.equals(To)) item.session.getAsyncRemote().sendText(message); } } public void sendMessageAll(String message) throws IOException { for (WebSocket item : clients.values()) { item.session.getAsyncRemote().sendText(message); } } public static synchronized int getOnlineCount() { return onlineCount; } public static synchronized void addOnlineCount() { WebSocket.onlineCount++; } public static synchronized void subOnlineCount() { WebSocket.onlineCount--; } public static synchronized Map<String, WebSocket> getClients() { return clients; }}

在項(xiàng)目別的類(lèi)可通過(guò)new WebSocket()向客戶端發(fā)送數(shù)據(jù)

WebSocket ws = new WebSocket();

ws.sendMessageAll(JSON.toJSONString(rs));

以上這篇Vue+Java 通過(guò)websocket實(shí)現(xiàn)服務(wù)器與客戶端雙向通信操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产激情一区二区三区 | 久久久久亚洲 | 高清毛片免费看 | 国产极品喷水视频jk制服 | 在线观看日韩www视频免费 | 欧美成人免费高清视频 | 国产成人免费影片在线观看 | 亚州一区二区 | 男人好大好硬好爽免费视频 | 色综合久久88一加勒比 | 久久er热这里只有精品23 | 久久中文字幕乱码免费 | 偷拍小视频99在线 | 麻豆国产视频 | 国产一区精品 | 91.xxx.高清在线| 毛片久久久 | 国产一区二区三区在线观看影院 | 全部在线播放免费毛片 | 亚洲成人免费在线观看 | 欧美日韩在线国产 | fulidown国产精品合集 | 欧美性巨大欧美 | 亚洲精品成人 | 在线欧美精品一区二区三区 | 手机看片国产免费 | 中文字幕一区日韩在线视频 | 东凛中文字幕 | 久久99久久精品国产99热 | 亚洲一区二区三 | 国产黄色一级毛片 | 欧美日韩精品一区二区三区 | cao在线观看 | 中国一级毛片免费观看 | 国产高清视频在线 | 国产毛片在线高清视频 | 久热久操| 国产a精品 | 国产情侣无套精品视频 | 欧美成人 综合网播九公社 欧美成人26uuu欧美毛片 | 一级毛片成人午夜 |