From ba0f00cf00c2a5c693e9608a56d1f7d032f5e216 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 23 Mar 2021 19:19:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/ChannelSupervise.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/ChannelSupervise.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/ChannelSupervise.java
new file mode 100644
index 0000000..afddb45
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/ChannelSupervise.java
@@ -0,0 +1,37 @@
+package org.springblade.jfpt.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);
+	}
+
+}

--
Gitblit v1.9.3