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 楼答案
您可以创建多个ServerBootstrap实例。每个ServerBootstrap都使用一个服务器通道进行绑定