gpt4 book ai didi

java - 从其他添加处理程序时 Netty ChannelActive 不起作用

转载 作者:行者123 更新时间:2023-11-30 01:55:15 25 4
gpt4 key购买 nike

我有一个 AuthenticationHandler extends ChannelHandlerAdapter 并在 channelRead 中检查用户是否有效。如果是这样,我添加一个新的处理程序 (ServerHandler) 来接收所有其他消息。

ctx.pipeline().addLast(new ServerHandler());
ctx.pipeline().remove(this);

问题是,channelActive 方法没有执行。但我需要这个来将客户端添加到包含所有客户端的列表中。还有其他方法可以做到这一点吗?也许有人可以帮忙!是我使用 Netty 5.0.0 Alpha 2 的问题吗?但这应该可行,不是吗?

最佳答案

channelActive 仅在 Channel 变为 Activity 状态时执行,这在 TCP 中意味着连接建立时。如果在连接 Channel 后添加 ChannelHandler,它将不再看到 Activity 事件。

更好地重写handlerAdded(...),保证在所有情况下都会被调用。

关于java - 从其他添加处理程序时 Netty ChannelActive 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54737822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com