| 
					
				 | 
			
			
				@@ -9,11 +9,13 @@ import thyyxxk.webserver.service.zhuyuanyisheng.emr.EmrWebSocketServer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.service.zhuyuanyisheng.emr.EmrWebSocketServerV2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.utils.ListUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.utils.TokenUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.utils.WebsocketUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.websocket.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.websocket.server.PathParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.websocket.server.ServerEndpoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.net.InetSocketAddress; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Map; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,9 +52,11 @@ public class WebSocketServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!sid.endsWith("Screen")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SESSION_MAP.forEach((item, index) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (sid.split("-")[0].equals(item.split("-")[0])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    sendMessageByWebSocketSidSingle(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SESSION_MAP.forEach((key, value) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (sid.split("-")[0].equals(key.split("-")[0])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!getAddress(session).equals(getAddress(value))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sendMessageByWebSocketSidSingle(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,6 +66,10 @@ public class WebSocketServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.info("有新连接加入:{},当前在线人数为:{}", sid, ONLINE_COUNT.get()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static String getAddress(Session session) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return WebsocketUtil.getRemoteAddress(session).getAddress().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @OnClose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onClose(Session session, @PathParam("sid") String sid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (sid.startsWith("emr")) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -83,7 +91,6 @@ public class WebSocketServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             session.getBasicRemote().sendText(msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (Exception ignored) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |