作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 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/
我有一个 AuthenticationHandler extends ChannelHandlerAdapter 并在 channelRead 中检查用户是否有效。如果是这样,我添加一个新的处理程序
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!