|
|
@@ -190,6 +190,11 @@ public class WebsockServer extends PublishServer {
|
|
|
streamIdToChannelId.remove(infoItem);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean containsStreamGroup(String streamId, String prefix) {
|
|
|
+ return streamGroups.containsKey(CommUtils.InfoItem.of(streamId, prefix));
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 获取channelId对应的streamId方法
|
|
|
@@ -263,8 +268,14 @@ public class WebsockServer extends PublishServer {
|
|
|
// 在注册订阅前,初始化发送该类型需要的数据
|
|
|
String channelId = server.getChannelIdByStreamId(streamId, currPrefix);
|
|
|
logger.info("为 streamId={} 注册订阅,channelId={}", streamId, channelId);
|
|
|
- relay.initChannelConn(channelId, streamId, ctx.channel());
|
|
|
- server.registerChannel(streamId, ctx.channel(), relay);
|
|
|
+
|
|
|
+ if(!relay.initChannelConn(channelId, streamId, ctx.channel(), server)) {
|
|
|
+ ctx.close();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //server.registerChannel(streamId, ctx.channel(), relay);
|
|
|
+
|
|
|
+
|
|
|
}else {
|
|
|
logger.warn("streamId 为空或无对应的流转发器,拒绝订阅,streamId: {}, prefix: {}, relay is null == {}", streamId, currPrefix, relay == null);
|
|
|
}
|
|
|
@@ -275,7 +286,8 @@ public class WebsockServer extends PublishServer {
|
|
|
}
|
|
|
|
|
|
// 注册订阅(握手完成后调用)
|
|
|
- void registerChannel(String streamId, Channel ch, StreamRelay relay) {
|
|
|
+ @Override
|
|
|
+ public void registerChannel(String streamId, Channel ch, StreamRelay relay) {
|
|
|
if (streamId == null || streamId.isEmpty() || ch == null) {
|
|
|
return;
|
|
|
}
|