当前位置: 首页 > 知识库问答 >
问题:

动态修改netty频道选项

汝彭薄
2023-03-14

在我的netty应用程序中,我使用EpolChannelOption引导服务器通道。TCP_MD5SIG并提供IP密钥映射:

        Map<InetAddress, byte[]> md5keys = …..//set initial peer-ips and keys

        ServerBootstrap b = new ServerBootstrap();
        b.group(bossGroup, workerGroup)
         .channel(EpollServerSocketChannel.class)
         .handler(new LoggingHandler(LogLevel.INFO))
         .childHandler(new MyServerInitializer());
        b.childOption(ChannelOption.SO_KEEPALIVE, true);
        b.childOption(ChannelOption.TCP_NODELAY, true);
        b.option(EpollChannelOption.TCP_MD5SIG, md5keys);

在通道已经处于活动状态并为客户端服务而不中断与这些客户端的通信后,是否可以更改md5key映射(例如添加新ip)?

共有1个答案

长孙承嗣
2023-03-14

当然可以使用.setOption(…)。

 类似资料:
  • 2.2 频道修改 2.2.1 描述 通过调用该接口为指定的域名修改频道回源、缓存策略、访问控制信息。 2.2.2 请求地址 地址:https://api.bokecs.com/channel/modify/{channelId} 2.2.3 请求方式 POST 2.2.4 请求参数 1) 请求入参 { "domain": { "origin_type": "", "orig

  • 请求header PUT /v1/activities/{频道id} Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{频道id}"替换您需要获取的频道id 请求payload { "name" : "测试频道" }

  • 我想用Netty实现Slack API客户端。Slack有几十种方法,每种方法都有不同的URL和响应格式。 我应该为每种方法创建一个通道并重复使用单个引导程序,还是应该为所有通信使用单个通道?实际上,我做这个项目是为了学习Netty,我无法从文档和示例(这些都是非常基本的)中理解策略。 对于通道每API方法,我可以使用不同的处理程序来处理不同的数据类型,但对于单个通道,我无法做到这一点,是吗? 我

  • 我正在使用Netty 4(alpha8)。 我想在管道中的ChannelHanders之间共享一些数据,在Netty的以前版本中,我想我会使用ChannelLocal,有没有Netty 4的等效版本?

  • 我刚开始和内蒂一起工作。我已经有了一个服务器,我正在为一个客户端写代码。 在客户端,我用下面的代码为ClientBootstrap对象设置了一个新的PipelineFactory 其中ResponseHandler()是我扩展SimpleChannelHandler的类。 我想找到频道ID。我做到了。 但它会抛出IllelgalStateException并表示我无法调用getPipeline()

  • 我正在尝试使用动态ChannelHandler管道实现Netty 4. X。正如人们建议的“出于性能考虑,在运行时使用调用而不是管道修改”,我实现了一个Server、一个RouterInoundHander和一个Client来测试这个理论。但它不起作用。这是我的代码 计算机网络服务器 RouterInboundHandler 和客户 如代码所示,在Channel的连接初始化阶段创建了Channel