From b0deed2a890c7724150b1bcbc4551eee2b073e36 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Wed, 28 Aug 2019 12:56:50 +0800 Subject: [PATCH] =?UTF-8?q?WebSocket=E5=A2=9E=E5=8A=A0getSncpAddress?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E8=8E=B7=E5=8F=96=E5=88=86=E5=B8=83?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E7=9A=84sncp=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/net/http/WebSocket.java | 11 +++++++++++ src/org/redkale/net/http/WebSocketServlet.java | 1 + 2 files changed, 12 insertions(+) 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) {