integrated_traffic/src/main/java/com/zcloud/plugins/websocketFace/FaceServerPool.java

101 lines
1.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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