diff --git a/src/org/redkale/net/http/WebSocket.java b/src/org/redkale/net/http/WebSocket.java index d06b136c1..33183643b 100644 --- a/src/org/redkale/net/http/WebSocket.java +++ b/src/org/redkale/net/http/WebSocket.java @@ -83,6 +83,8 @@ public abstract class WebSocket { WebSocketEngine _engine; //不可能为空 + InetSocketAddress _sncpAddress; //分布式下不可为空 + AsyncConnection _channel;//不可能为空 String _sessionid; //不可能为空 @@ -826,6 +828,15 @@ public abstract class WebSocket { return forceCloseWebSocket(getUserid()).thenApply((r) -> true); } + /** + * 获取分布式情况下的SNCP地址, 非分布式下为null + * + * @return InetSocketAddress sncpAddress + */ + public InetSocketAddress getSncpAddress() { + return _sncpAddress; + } + /** * 获取Logger * diff --git a/src/org/redkale/net/http/WebSocketServlet.java b/src/org/redkale/net/http/WebSocketServlet.java index f03d7bd42..6ab912479 100644 --- a/src/org/redkale/net/http/WebSocketServlet.java +++ b/src/org/redkale/net/http/WebSocketServlet.java @@ -209,6 +209,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl webSocket._sendConvert = sendConvert; webSocket._remoteAddress = request.getRemoteAddress(); webSocket._remoteAddr = request.getRemoteAddr(); + webSocket._sncpAddress = this.node.localSncpAddress; initRestWebSocket(webSocket); CompletableFuture sessionFuture = webSocket.onOpen(request); if (sessionFuture == null) {