小编高鸿武*_*高鸿武的帖子

如何在 Netty 4+ 中使用 ChannelTrafficShapingHandler?

我需要向客户端推送一个大文件,但我想限制速度(例如100Kb/s),如何使用ChannelTrafficShapingHandler?

ServerBootstrap b = new ServerBootstrap();
              b.group(bossGroup, workerGroup)
               .channel(NioServerSocketChannel.class)
               .option(ChannelOption.SO_BACKLOG, 100)
               .handler(new LoggingHandler(LogLevel.INFO))
               .childHandler(new ChannelInitializer<SocketChannel>() {
                   @Override
                   public void initChannel(SocketChannel ch) throws Exception {
                       ChannelPipeline p = ch.pipeline();

                       p.addLast(
                               new StringEncoder(CharsetUtil.UTF_8),
                               new LineBasedFrameDecoder(8192),
                               new StringDecoder(CharsetUtil.UTF_8),
                               new ChannelTrafficShapingHandler(1,1,10L),
                               new ChunkedWriteHandler(),
                               new FileServerHandler()
                               );
                   }
               });
Run Code Online (Sandbox Code Playgroud)

这个演示不起作用,为什么?

rate-limiting netty

3
推荐指数
1
解决办法
2995
查看次数

标签 统计

netty ×1

rate-limiting ×1