From f3d3ab1267f35a6d4b22b7a34f5f94bb733cd513 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Wed, 07 Apr 2021 17:39:43 +0800
Subject: [PATCH] 点对点websocket实现
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/NettyConfig.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/NettyConfig.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/NettyConfig.java
index ad82647..cbe126b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/NettyConfig.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/NettyConfig.java
@@ -1,7 +1,10 @@
package org.springblade.jfpt.nettyServer;
+import io.netty.channel.Channel;
import io.netty.channel.group.ChannelGroup;
import io.netty.channel.group.DefaultChannelGroup;
import io.netty.util.concurrent.GlobalEventExecutor;
+
+import java.util.concurrent.ConcurrentHashMap;
public class NettyConfig {
@@ -9,4 +12,34 @@
* 存储每一个客户端接入进来时的channel对象
*/
public static ChannelGroup group = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
+
+ /**
+ * 定义一个channel组,管理所有channel
+ * GlobalEventExecutor.INSTANCE 是全局的事件执行器,是一个单例
+ */
+ private static ChannelGroup channelGroup = new DefaultChannelGroup("用户管理组",GlobalEventExecutor.INSTANCE);
+
+ /**
+ * 存放用户与chanel 的对应的信息,用于给指定用户发送信息
+ */
+ private static ConcurrentHashMap<String, Channel> userChannelMap = new ConcurrentHashMap<>();
+
+ public NettyConfig() {
+ }
+
+ /**
+ * 获取用户channel 组
+ * @return
+ */
+ public static ChannelGroup getChannelGroup() {
+ return channelGroup;
+ }
+
+ /**
+ * 获取用户channel map
+ * @return
+ */
+ public static ConcurrentHashMap<String, Channel> getUserChannelMap() {
+ return userChannelMap;
+ }
}
--
Gitblit v1.9.3