| 
					
				 | 
			
			
				@ -1,12 +1,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.endpoint.third.platForm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.service.third.PcManageWebSocketService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.RestController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.websocket.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.websocket.server.ServerEndpoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Collection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Collections; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by Bing on 2021/6/17. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -18,14 +17,14 @@ import java.util.Collections; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@ServerEndpoint("/cloudCare/noLogin/pcManage/websocket") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class PcManageWebSocketServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Collection<PcManageWebSocketServer> servers = Collections.synchronizedCollection(new ArrayList<PcManageWebSocketServer>()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //与某个客户端的连接会话,需要通过它来给客户端发送数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private Session session; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @OnOpen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void onOpen(Session session){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        this.session = session; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        add(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PcManageWebSocketService.add(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void sendMessage(String message) throws IOException { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -34,7 +33,7 @@ public class PcManageWebSocketServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @OnClose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void onClose(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        remove(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PcManageWebSocketService.remove(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @OnMessage 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -48,26 +47,5 @@ public class PcManageWebSocketServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        error.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void broadCast(String msg){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (PcManageWebSocketServer bitCoinServer : servers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                bitCoinServer.sendMessage(msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static int getTotal(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return servers.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void add(PcManageWebSocketServer server){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println("有新连接加入! 当前总连接数是:"+ servers.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servers.add(server); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void remove(PcManageWebSocketServer server){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println("有连接退出! 当前总连接数是:"+ servers.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servers.remove(server); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |