如果我缓存频道[ctx.channel()
]而不是缓存ChannelHandlerContext会不会有任何区别?
以下是实施步骤和问题:
每当消息准备好从工作线程发送到客户端时,最好使用HashMap中缓存的通道
final ChannelFuture status = channel.writeAndFlush(Unpooled.copiedBuffer(payload.getBytes()));
每当工作线程想要关闭与客户端的连接时,如果我们关闭缓存的通道,这是否足够?
请参阅此Netty - can I cache those ChannelHandlerContext in Hash map and response it later?。
上面是关于使用ChannelHandlerContext,但我的是关于频道。使用ChannelHandlerContext和Channel
也有任何优势谢谢大家
答案 0 :(得分:0)
是的,您可以缓存Channel
并稍后再使用它。如果您需要的是writeAndFlush()
稍后来自另一个线程的消息,则只需缓存Channel
即可。
ChannelHandlerContext
非常有用。如果您不需要这些,可以使用Channel
。