Netty:Netty中渠道的流程生命周期是什么?

Netty:Netty中渠道的流程生命周期是什么?,netty,channel,Netty,Channel,我最近在学习网络。我遇到了一个问题,那就是我在ChannelInboundHandler.channelActive方法中放置了一个BlockingQueue 针对这一点,我希望从BlockingQueue获取消息,然后将消息发送到通道,但事实上,只有一条消息发送到服务器。 代码如下: @Override public void channleActive(ChannelHandlerContext ctx) throws Exception{ String msg = null;

我最近在学习网络。我遇到了一个问题,那就是我在ChannelInboundHandler.channelActive方法中放置了一个BlockingQueue

针对这一点,我希望从BlockingQueue获取消息,然后将消息发送到通道,但事实上,只有一条消息发送到服务器。 代码如下:

@Override
public void channleActive(ChannelHandlerContext ctx) throws Exception{
   String msg = null;
   while(true){
      msg=msgQueue.take();
      ctx.writeAndFlush(Unpooled.copiedBuffer(msg, CharsetUtil.UTF_8));
   }
}
但是它不起作用,我从
channelRead()方法中只得到一个响应。

我对netty生命周期的理解是错误的吗?有人能帮我解释一下吗?

您的代码基本上会在
channelActive
中“阻塞”,这意味着
EventLoop
将无法执行任何其他操作。这是不允许的。

谢谢!但是我仍然不知道在频道中写消息的整个过程,你知道整个过程吗?例如,对于客户端来说,它可能是connect->channelActive->channelRead->readComplete(可能不对)。就像这样。谢谢!