在某些情况下,有没有人知道为什么在channelRead之前调用channelReadComplete?我有一台服务器现在非常愚蠢,另一个网络服务器连接到。第一个初始化程序执行此操作:
final EventExecutorGroup taskGroup = new DefaultEventExecutorGroup(50);
ChannelPipeline pipeline = ctx.pipeline();
pipeline.addLast(taskGroup, "ServerHandler", new ServerHandler());
然后在ServerHandler
中public class ServerHandler extends ChannelInboundHandlerAdapter {
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
System.out.println("channelRead");
// ctx.write(msg);
}
@Override
public void channelReadComplete(ChannelHandlerContext ctx) {
System.out.println("channelReadComplete");
// ctx.flush();
}
当第一个netty服务器连接到第二个netty服务器时,我在channelRead之前始终获得channelReadComplete。是否有一个原因?