diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/handler/ProxyMessageAuthHandler.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/handler/ProxyMessageAuthHandler.java index 94b1a50b..50e609ca 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/handler/ProxyMessageAuthHandler.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/handler/ProxyMessageAuthHandler.java @@ -103,28 +103,20 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { return; } List portMappingList = portMappingService.findEnableListByLicenseId(licenseDO.getId()); + // 没有端口映射仍然保持连接 if (CollectionUtil.isEmpty(portMappingList)) { - ctx.channel().writeAndFlush(ProxyMessage.buildErrMessage(ExceptionEnum.AUTH_FAILED, "当前license没有可用的端口映射!")); + return; + } + Channel cmdChannel = ProxyUtil.getCmdChannelByLicenseKey(licenseKey); + if (null != cmdChannel) { + ctx.channel().writeAndFlush(ProxyMessage.buildErrMessage(ExceptionEnum.AUTH_FAILED, "当前license已被另一节点使用!")); ctx.channel().close(); return; } ProxyUtil.initProxyInfo(licenseKey, ProxyMapping.buildList(portMappingList)); Set ports = ProxyUtil.getServerPortsByLicenseKey(licenseKey); - if (ports == null) { - ctx.channel().close(); - return; - } -// Channel channel = ProxyChannelManager.getCmdChannel(licenseKey); - Channel channel = ProxyUtil.getCmdChannelByLicenseKey(licenseKey); - - if (channel != null) { - ctx.channel().close(); - return; - } - -// ProxyChannelManager.addCmdChannel(ports, licenseKey, ctx.channel()); ProxyUtil.addCmdChannel(licenseKey, ctx.channel(), ports); startUserPortServer(ports);