我是NIO和Netty框架的新手。
我正在使用netty开发示例HTTP服务器,因此我可以异步处理数千个客户端连接。我使用了多个处理程序进行编码、解码、聚合等。
当消息接收事件发生在一个处理程序时,我将其传递给下一个处理程序,依此类推。
为了通过一个甚至我用了ctx.sendUpstream(e) //ctx-ChannelHandlerContext, e-event
但是通过netty的源代码,我遇到了另一种方法handleUpstream(ctx, e)
尝试调试了netty源代码,我真的在sendUpstream()
和handleUpstream()
的使用之间感到困惑。
它们之间有何不同?我应该使用哪一个?
是的,Netty 3 使用 ChannelUpstreamHandler.handleUpstream()
来处理传入的消息,ctx.sendUpstream()
将消息传递到更上游。Netty 4还有其他方法,如ctx.fireChannelRead()