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

如何在Reactor网络中为TcpServer添加ChannelInitializer

江光明
2023-03-14

我有一个NettyServerCustomizer,它的下一个代码是:

@Override
    public HttpServer apply(final HttpServer httpServer) {
        return httpServer.tcpConfiguration(tcpServer -> tcpServer
            .bootstrap(serverBootstrap -> serverBootstrap
                .childHandler(new ChannelInitializer<SocketChannel>() {
                    @Override
                    public void initChannel(final SocketChannel ch) throws Exception {
                        final ChannelPipeline p = ch.pipeline();
                        p.addFirst(new MyCustomChannelInboundHandlerAdapter());
                    }
                })));
    }

但是reactor-netty从版本0.9.10开始就不推荐使用bootstrap方法,请访问:https://github.com/reactor/reactor-netty/pull/1175。

如何使用新的API获得相同的行为?

共有1个答案

滕璞瑜
2023-03-14

这是不推荐的,因为在Reactor Netty 1.0.0中,不再使用bootstrapserverbootstrap。https://github.com/reactor/reactor-netty/releases/tag/v1.0.0在0.9.x中没有替换这个特定的用例。在1.1.0中,替换的是DoonChannelInit如果您的构建限制了不推荐使用的API的使用,请打开一个特性请求,我们将尝试从1.1.0版本回端口API。

 类似资料:
  • 我对任何逻辑都是新手,我有一个问题我无法解决... 我把“布局类型”和“网络类型”设为“随机”,并勾选了“启动时申请”的复选框……一开始,我就有了一个不错的社交网络 然而代理的诞生和死亡...问题是,当我添加代理时,新创建的代理没有连接!所以我,当所有最初的特工都死了,我发现我自己有特工,但没有网络! 我该怎么办?添加新代理时,我希望它与其他代理连接:s 谢谢!!!

  • 在reactor Netty之前,我将创建Netty Tcp服务器的方式是创建服务器引导并添加我的自定义管道类。Reactor-Netty有tcpServer.create(),但似乎我必须创建一个新的函数接口,它接受NettyInbound和NettyOutbound并返回一个Mono。但是,如果我想添加一个构建管道的ChannelInitializer,我必须阻塞以获得NettyContext

  • 在Reactor Netty中,当通过向TCP通道发送数据时,任何发布服务器都可以工作。但是,如果不是简单的即时而是使用带有延迟元素的更复杂的flux,那么它就会停止正常工作。例如,如果我们使用这个hello world TCP echo服务器,它将按照预期工作: 但是,如果我们将更改为 那么我们将期望对于每一个接收到的项目,都将产生一个延迟一秒的输出。 但是,服务器的行为方式是,如果它在间隔期间

  • 问题内容: 我正在尝试将网络驱动器安装为卷。这是我正在尝试的命令 我在Windows上运行此命令,并且数据目录显示为空。如何在Windows主机上将该网络目录作为卷挂载并在容器内访问它? 使用本地目录可以正常工作,因此以下命令可以正常工作。 我可以使其在Linux中工作,因为我可以将cifs-utils共享安装在本地目录上,并将该目录用作卷。 编辑:看起来这是不可能的:如何在Docker for

  • 问题内容: 我知道在linux内核中,我们可以在传输层添加我们自己的协议,类似于TCP,UDP等。 是否有任何钩子可以在网络层上注册类似于IP,ARP的新协议,可以将数据包传输到应用程序,以及如何在Linux内核中添加此协议? 问题答案: 要处理从用户空间到协议的通信,请使用内核套接字API注册协议。这使您可以从用户空间创建普通套接字。 看一下相关代码示例的蓝牙/ RFCOM套接字实现。 要注册协

  • 有没有一种方法可以在请求处理程序中获得反应堆网络中使用的字节缓冲区分配器?类似于如何在纯Netty中执行?