zengh
2022-07-12 7c86454ff569dc54bbe7e34988750a1df762a2c3
src/main/java/org/springblade/modules/webscoket/ChannelSupervise.java
@@ -1,38 +1,38 @@
package org.springblade.modules.webscoket;
import io.netty.channel.Channel;
import io.netty.channel.ChannelId;
import io.netty.channel.group.ChannelGroup;
import io.netty.channel.group.DefaultChannelGroup;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
import io.netty.util.concurrent.GlobalEventExecutor;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
public class ChannelSupervise {
   private   static ChannelGroup GlobalGroup=new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
   private  static ConcurrentMap<String, ChannelId> ChannelMap=new ConcurrentHashMap();
   private  static Map<String, String> map = new HashMap<String, String>();;
   public  static void addChannel(Channel channel, String name){
      GlobalGroup.add(channel);
      ChannelMap.put(channel.id().asShortText(),channel.id());
      map.put(channel.id().asShortText(),name);
   }
   public static void removeChannel(Channel channel){
      GlobalGroup.remove(channel);
      ChannelMap.remove(channel.id().asShortText());
      map.remove(channel.id().asShortText());
   }
   public static Channel findChannel(String id){
      return GlobalGroup.find(ChannelMap.get(id));
   }
   public static String findName(String id){
   return map.get(id);
   }
   public static void send2All(TextWebSocketFrame tws){
      GlobalGroup.writeAndFlush(tws);
   }
}
//package org.springblade.modules.webscoket;
//import io.netty.channel.Channel;
//import io.netty.channel.ChannelId;
//import io.netty.channel.group.ChannelGroup;
//import io.netty.channel.group.DefaultChannelGroup;
//import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
//import io.netty.util.concurrent.GlobalEventExecutor;
//
//import java.util.HashMap;
//import java.util.Map;
//import java.util.concurrent.ConcurrentHashMap;
//import java.util.concurrent.ConcurrentMap;
//
//public class ChannelSupervise {
//   private   static ChannelGroup GlobalGroup=new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
//   private  static ConcurrentMap<String, ChannelId> ChannelMap=new ConcurrentHashMap();
//   private  static Map<String, String> map = new HashMap<String, String>();;
//   public  static void addChannel(Channel channel, String name){
//      GlobalGroup.add(channel);
//      ChannelMap.put(channel.id().asShortText(),channel.id());
//      map.put(channel.id().asShortText(),name);
//   }
//   public static void removeChannel(Channel channel){
//      GlobalGroup.remove(channel);
//      ChannelMap.remove(channel.id().asShortText());
//      map.remove(channel.id().asShortText());
//   }
//   public static Channel findChannel(String id){
//      return GlobalGroup.find(ChannelMap.get(id));
//   }
//   public static String findName(String id){
//   return map.get(id);
//   }
//   public static void send2All(TextWebSocketFrame tws){
//      GlobalGroup.writeAndFlush(tws);
//   }
//
//}