有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Netty中绑定到同一处理程序上不同端口的最佳方法是什么?

请查看下面的代码。在这里,我试图听两个端口与同一工厂。现在只有一个端口正在监听。请建议如何在同一工厂中实现多端口监听,以便为所有端口提供相同的处理程序功能

public static void main(String[] args)
{
    ChannelFactory factory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(),Executors.newFixedThreadPool(1));
    ServerBootstrap bootstrap = new ServerBootstrap(factory);
    ChannelPipelineFactory cpf = new ChannelPipelineFactory()
    {
        public ChannelPipeline getPipeline()
        {
            return Channels.pipeline(new testHandler());
        }
    };
    bootstrap.setPipelineFactory(cpf);
    bootstrap.setOption("child.tcpNoDelay", true);  
    ChannelGroup allChannels = new DefaultChannelGroup();
    Channel serverChannel = bootstrap.bind(new InetSocketAddress(5000));
    allChannels.add(serverChannel);
    Channel serverChannel1 = bootstrap.bind(new InetSocketAddress(6000));
    allChannels.add(serverChannel1);
    bootstrap.bind(new InetSocketAddress(5000));
}

共 (1) 个答案

  1. # 1 楼答案

    您可以创建多个ServerBootstrap实例。每个ServerBootstrap都使用一个服务器通道进行绑定