- channelRead的时候,有一个ChannelReadComplete()方法
前者是具体的读操作,后者是读完成之后的回调操作
- 而写的操作没有什么类似的ChannelWriteComplete(), 所以,我们只有加一个listener
private final ChannelFutureListener trafficGenerator = new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) {
if (future.isSuccess()) {
generateTraffic();
} else {
future.cause().printStackTrace();
future.channel().close();
}
}
};
ctx.writeAndFlush(content.duplicate().retain()).addListener(trafficGenerator);
上面都是官方的例子里