小编Tan*_*ini的帖子

动态改变网络管道

我使用netty 4.0.25Final编写一个netty HTTP服务器.我需要根据HTTP GET请求中的一些参数在管道中添加各种处理程序.

pipeline.addLast(new HttpRequestDecoder(4096, 8192, 8192, false),
                 new HttpResponseEncoder(),
                 new HttpObjectAggregator(1048576),
                 decisionHandler
                 );
Run Code Online (Sandbox Code Playgroud)

如果多个请求来自同一连接,则使用相同的管道.Request1可能需要Handler1,Request2可能需要Handler2而Request3可能需要Handler3.假设请求以Request1,Request2,Request3的形式出现.Request1将修改管道以添加Handler1.

  1. 在后续调用中,我们是否总是需要检查pipleline是否已被修改,然后删除不需要的处理程序?然后添加处理该特定调用所需的处理程序?

  2. 或者我应该在转到下一个处理程序(fireChannelRead(object))之前删除处理程序?它会对性能产生影响吗?

  3. 有没有其他方法可以做到这一点?

感谢和问候,

Tanima

netty

4
推荐指数
1
解决办法
1614
查看次数

标签 统计

netty ×1