From 967a102cdd404caa6fb52ca7b2b1e88eeec4e8c0 Mon Sep 17 00:00:00 2001 From: wentch <22250530@qq.com> Date: Wed, 23 Dec 2015 18:15:28 +0800 Subject: [PATCH] --- src/org/redkale/net/http/WebSocket.java | 5 +++++ src/org/redkale/net/http/WebSocketNode.java | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/org/redkale/net/http/WebSocket.java b/src/org/redkale/net/http/WebSocket.java index b53fbd129..2a7087b13 100644 --- a/src/org/redkale/net/http/WebSocket.java +++ b/src/org/redkale/net/http/WebSocket.java @@ -7,6 +7,7 @@ package org.redkale.net.http; import org.redkale.net.http.WebSocketPacket.FrameType; import java.io.*; +import java.net.*; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import org.redkale.net.*; @@ -260,6 +261,10 @@ public abstract class WebSocket { return _engine.node.sendMessage(groupid, recent, data, last); } + protected final Collection getOnlineNodes(Serializable groupid) { + return _engine.node.getOnlineNodes(groupid); + } + /** * 获取当前WebSocket下的属性 *

diff --git a/src/org/redkale/net/http/WebSocketNode.java b/src/org/redkale/net/http/WebSocketNode.java index 669b3187b..a88b0e40a 100644 --- a/src/org/redkale/net/http/WebSocketNode.java +++ b/src/org/redkale/net/http/WebSocketNode.java @@ -62,6 +62,16 @@ public abstract class WebSocketNode { protected abstract void disconnect(Serializable groupid, InetSocketAddress addr); //-------------------------------------------------------------------------------- + /** + * 获取在线的节点地址列表 + * + * @param groupid + * @return + */ + public Collection getOnlineNodes(Serializable groupid) { + return source.getCollection(groupid); + } + public final void connect(Serializable groupid, String engineid) { if (finest) logger.finest(localSncpAddress + " receive websocket connect event (" + groupid + " on " + engineid + ")."); Set engineids = localNodes.get(groupid); @@ -84,7 +94,7 @@ public abstract class WebSocketNode { } } - public final void putWebSocketEngine(WebSocketEngine engine) { + final void putWebSocketEngine(WebSocketEngine engine) { engines.put(engine.getEngineid(), engine); }