package com.zcloud.plugins.websocketFace; import org.java_websocket.WebSocket; import java.util.*; /** * 说明:人脸识别 * 作者:luoxiaobao * 官网:www.qdkjchina.com */ public class FaceServerPool { private static final Map userconnections = new HashMap(); private static WebSocket fhadmin = null;; /** * 获取用户名 * @param session */ public static String getUserByKey(WebSocket conn){ return userconnections.get(conn); } /** * 获取在线总数 * @param */ public static int getUserCount(){ return userconnections.size(); } /** * 获取WebSocket * @param user */ public static WebSocket getWebSocketByUser(String user){ Set keySet = userconnections.keySet(); synchronized (keySet) { for (WebSocket conn : keySet) { String cuser = userconnections.get(conn); if(cuser.equals(user)){ return conn; } } } return null; } /** * 向连接池中添加连接 */ public static void addUser(String user, WebSocket conn){ userconnections.put(conn,user); //添加连接 } /** * 获取所有的在线用户 * @return */ public static Collection getOnlineUser(){ List setUsers = new ArrayList(); Collection setUser = userconnections.values(); for(String u:setUser){ setUsers.add(u); } return setUsers; } /** * 移除连接池中的连接 */ public static boolean removeUser(WebSocket conn){ if(userconnections.containsKey(conn)){ userconnections.remove(conn); //移除连接 return true; }else{ return false; } } /** * 向特定的用户发送数据 * @param message */ public static void sendMessageToUser(WebSocket conn,String message){ if(null != conn){ conn.send(message); } } public static WebSocket getFhadmin() { return fhadmin; } public static void setFhadmin(WebSocket fhadmin) { FaceServerPool.fhadmin = fhadmin; } }