【问题标题】:Netty Framework: When is channelOpen called?Netty 框架:channelOpen 什么时候调用?
【发布时间】:2012-07-09 15:50:57
【问题描述】:

根据 Netty 指南:http://static.netty.io/3.5/guide/#start.12

要跟踪打开的套接字,您需要修改 TimeServerHandler 向全局添加一个新的打开通道 ChannelGroup、TimeServer.allChannels:

  @Override
  public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) {
        TimeServer.allChannels.add(e.getChannel());
  }

我在我的业务逻辑处理程序上实现了channelOpen。当新客户端建立连接时,我没有看到它被调用。谁能详细说一下channelOpen什么时候被调用?

另外,我是否可以编写一个上游处理程序以插入之前 ExecutionHandler 并期望channelOpen 在适当的时间被调用,或者一个必须 在业务逻辑处理器上实现channelOpen

如果可能的话,我希望能够将channelOpen 与业务逻辑处理程序分开实现。

【问题讨论】:

    标签: netty


    【解决方案1】:

    事件按以下顺序出现:

    channelOpen(..)、channelBound(..)、channelConnected(..)

    ...

    cannelDisconnected(..)、channelUnbound(..)、channelClosed(..)

    因此,当客户端连接时,应该首先调用 channelOpen(..)..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-05
      • 2023-03-15
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 2010-10-26
      • 2014-03-27
      相关资源
      最近更新 更多