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

101 lines
1.9 KiB
Java
Raw Normal View History

2024-01-03 11:04:18 +08:00
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;
}
}