From 03f241781205b4aaafa6cee66e7402a41ef97fc1 Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期五, 24 五月 2024 15:27:40 +0800 Subject: [PATCH] 增加websocket 推送下片数据给前端 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java | 52 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 32 insertions(+), 20 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java index 13a3bde..b10efb4 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java @@ -1,28 +1,35 @@ package com.mes.tools; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.stereotype.Component; - -import javax.websocket.*; -import javax.websocket.server.PathParam; -import javax.websocket.server.ServerEndpoint; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +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; + +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.stereotype.Component; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; + @ServerEndpoint(value = "/api/talk/{username}") -@Component("webSocketServer") +@Component public class WebSocketServer { // @Autowired // HomeMapper homeMapper; - public static ConfigurableApplicationContext applicationContext; + static ConfigurableApplicationContext applicationContext; // 瑙e喅鏃犳硶娉ㄥ叆mapper闂 //浣跨敤鏂规硶 // homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class); @@ -38,7 +45,7 @@ public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>(); String username; - Session session; + public Session session; public WebSocketServer() { this.messages = new ArrayList<>(); @@ -58,8 +65,17 @@ sessionMap.put(username, arrayListwebserver); } else { webSocketServers.add(this); + // Short i=0; + // for (WebSocketServer webSocketServer : webSocketServers) { + // if(webSocketServer==this){ + // i++; + // } + // } + // if(i==0){ + // webSocketServers.add(this); + // } } - + log.info("鏈夋柊鐢ㄦ埛鍔犲叆锛寀sername={}, 褰撳墠鍦ㄧ嚎浜烘暟涓猴細{}", username, sessionMap.get(username).size()); // JSONObject result = new JSONObject(); @@ -93,7 +109,7 @@ sessionMap.remove(username); log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}杩炴帴鍏抽棴, 褰撳墠杩炴帴鏁颁负锛歿}", username, username, sessionMap.size()); } - + } /** @@ -101,7 +117,7 @@ * 鍚庡彴鏀跺埌瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅 * onMessage 鏄竴涓秷鎭殑涓浆绔� * 鎺ュ彈 娴忚鍣ㄧ socket.send 鍙戦�佽繃鏉ョ殑 json鏁版嵁 - * + * * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅 */ @OnMessage @@ -157,8 +173,4 @@ public void clearMessages() { messages.clear(); } - - - - } -- Gitblit v1.8.0