From 8db5b45c853fe5e49f2bca9047ea63e739cb8d79 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期六, 25 五月 2024 08:21:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java |   50 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 32 insertions(+), 18 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 fcd2a10..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,6 +65,15 @@
             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());
@@ -81,15 +97,15 @@
     public void onClose(Session session, @PathParam("username") String username) {
         List<WebSocketServer> webSocketServers = sessionMap.get(username);
         ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
-        if (webSocketServers.size() > 1) {
+        if (webSocketServers.size()>1) {
             for (WebSocketServer webSocketServer : webSocketServers) {
-                if (webSocketServer != this) {
+                if(webSocketServer!=this){
                     arrayListwebserver.add(webSocketServer);
                 }
             }
             sessionMap.put(username, arrayListwebserver);
             log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}鐨勫綋鍓嶅湪绾夸汉鏁颁负锛歿}", username, username, sessionMap.get(username).size());
-        } else {
+        }else{
             sessionMap.remove(username);
             log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}杩炴帴鍏抽棴, 褰撳墠杩炴帴鏁颁负锛歿}", username, username, sessionMap.size());
         }
@@ -157,6 +173,4 @@
     public void clearMessages() {
         messages.clear();
     }
-
-
 }

--
Gitblit v1.8.0