From d2de40b544b5b069cd525143ff5a9e0d922b2c66 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 08 八月 2025 15:18:41 +0800
Subject: [PATCH] 我的订单顺风车
---
MessagePushTravel/src/main/java/com/sinata/push/util/echo/NettyChannelMap.java | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/MessagePushTravel/src/main/java/com/sinata/push/util/echo/NettyChannelMap.java b/MessagePushTravel/src/main/java/com/sinata/push/util/echo/NettyChannelMap.java
index acd89f0..a0dd469 100644
--- a/MessagePushTravel/src/main/java/com/sinata/push/util/echo/NettyChannelMap.java
+++ b/MessagePushTravel/src/main/java/com/sinata/push/util/echo/NettyChannelMap.java
@@ -8,8 +8,8 @@
import java.util.concurrent.ConcurrentHashMap;
public class NettyChannelMap {
-
- protected static Map<String, ChannelHandlerContext> map = new ConcurrentHashMap<>();
+
+ public static Map<String, ChannelHandlerContext> map = new ConcurrentHashMap<>();
public static Map<String, ChannelHandlerContext> ctxMap = new HashMap<>();//单点登录存储的通道
@@ -78,6 +78,9 @@
*/
@SuppressWarnings("rawtypes")
public static synchronized void remove(ChannelHandlerContext value) {
+ if(null == value){
+ return;
+ }
Set<String> strings = map.keySet();
for(String key : strings){
ChannelHandlerContext channelHandlerContext = map.get(key);
@@ -91,6 +94,23 @@
}
+ public static synchronized void remove_(ChannelHandlerContext value) {
+ Set<String> strings = ctxMap.keySet();
+ for(String key : strings){
+ ChannelHandlerContext channelHandlerContext = ctxMap.get(key);
+ String s = channelHandlerContext.channel().remoteAddress().toString();
+ String s1 = value.channel().remoteAddress().toString();
+ if(s.equals(s1)){
+ channelHandlerContext.close();//关闭通道
+ ctxMap.remove(key);
+ }
+ }
+ }
+
+
+ public static synchronized void remove_(String key) {
+ ctxMap.remove(key);
+ }
/**
@@ -113,4 +133,9 @@
map.put(key, value);
}
+
+
+ public static synchronized void update_(String key, ChannelHandlerContext value) {
+ ctxMap.put(key, value);
+ }
}
--
Gitblit v1.7.1