webSocket的认识。webSocket是在PC客户端和服务端之间建立长连接,来保持长连接的长期执行。
需要有webSocket线程池,webSocket线程池就像数据库连接池一样,可以方多个webSocket对象。
分析socketPool的源代码:
private static ConcurrentHashMap<String, HashSet<WebSocket>> socketPool = new ConcurrentHashMap<String, HashSet<WebSocket>>(
0);
可以收获到webSocket的pool线程池,是一个HashMap对象,由一个String和一个HashSet<WebSocket>构成,其中String是一个唯一的key,HashSet<WebSocket>是一个集合对象,里面由多个WebSocket构成。
addWebSocket(String key, WebSocket socket) {
//获得对应的set集合
Set<WebSocket> set = socketPool.get(key);
if(set == null){
set = new HashSet<WebSocket>(0);//如果不存在,需要初始化一个Websocket的集合。
}
//将socket增加到HashSet对象里面去。
set.add(socket);
//放到线程池里面去
socketPool.put(key,(HashSet) set);
}
removeWebSocket(String key,
WebSocket socket){
if(key != null){
socketPool.remove(key);
}
}
需要有webSocket线程池,webSocket线程池就像数据库连接池一样,可以方多个webSocket对象。
分析socketPool的源代码:
private static ConcurrentHashMap<String, HashSet<WebSocket>> socketPool = new ConcurrentHashMap<String, HashSet<WebSocket>>(
0);
可以收获到webSocket的pool线程池,是一个HashMap对象,由一个String和一个HashSet<WebSocket>构成,其中String是一个唯一的key,HashSet<WebSocket>是一个集合对象,里面由多个WebSocket构成。
addWebSocket(String key, WebSocket socket) {
//获得对应的set集合
Set<WebSocket> set = socketPool.get(key);
if(set == null){
set = new HashSet<WebSocket>(0);//如果不存在,需要初始化一个Websocket的集合。
}
//将socket增加到HashSet对象里面去。
set.add(socket);
//放到线程池里面去
socketPool.put(key,(HashSet) set);
}
removeWebSocket(String key,
WebSocket socket){
if(key != null){
socketPool.remove(key);
}
}