В netty Java документ говорит, что so be sure to call flush() once you want to request to flush
, но в этом примере он говорит, что нет необходимости вызывать ctx.flu sh (). Но я не нашел, что flush(ChannelHandlerContext ctx)
называлось тем, что он сказал.
package io.netty.example.time;
public class TimeEncoder extends ChannelOutboundHandlerAdapter {
@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
UnixTime m = (UnixTime) msg;
ByteBuf encoded = ctx.alloc().buffer(4);
encoded.writeInt((int)m.value());
ctx.write(encoded, promise); // (1)
}
}
Second, we did not call ctx.flush(). There is a separate handler method void flush(ChannelHandlerContext ctx) which is purposed to override the flush() operation.
https://netty.io/wiki/user-guide-for-4.x.html#wiki -h3-8