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