Netty:ChannelFuture/ChannelFutureListener就一定是"per-message"吗?

Netty: Is ChannelFuture/ChannelFutureListener guaranteed to be "per-message"?

我有一个通道需要保持打开状态,因为写入了很多消息,我不想为每次写入都进行 SSL 握手。

如果我这样做:

ChannelFuture future = channel.writeAndFlush(message1);
channel.writeAndFlush(message2);
future.addListener(new ChannelFutureListener(){

    @Override
    public void operationComplete(ChannelFuture channelFuture) throws Exception{

       //check for success   
    }
});

channel.writeAndFlush(message3);

假设正确吗,operationComplete 只会为 message1 调用,而不会为 message2 或 message3 调用?

ChannelFutureListener 将仅针对由写入 returned 的 ChannelFuture 执行。每次写入都会 return 另一个。所以是的。