forked from integrated_whb/integrated_whb
101 lines
1.9 KiB
Java
101 lines
1.9 KiB
Java
|
package com.zcloud.plugins.websocketFace;
|
|||
|
|
|||
|
import org.java_websocket.WebSocket;
|
|||
|
|
|||
|
import java.util.*;
|
|||
|
|
|||
|
/**
|
|||
|
* 说明:人脸识别
|
|||
|
* 作者:luoxiaobao
|
|||
|
* 官网:www.qdkjchina.com
|
|||
|
*/
|
|||
|
public class FaceServerPool {
|
|||
|
|
|||
|
private static final Map<WebSocket,String> userconnections = new HashMap<WebSocket,String>();
|
|||
|
|
|||
|
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<WebSocket> 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<String> getOnlineUser(){
|
|||
|
List<String> setUsers = new ArrayList<String>();
|
|||
|
Collection<String> 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;
|
|||
|
}
|
|||
|
}
|