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;
|
||
}
|
||
}
|