netty open 2端口服务器& 1端口客户端

时间:2013-06-07 05:58:03

标签: java netty

我想在服务器上打开2端口,1用于生产,2用于监控,1个客户端用于telnet到另一台服务器。但是我的服务器在运行1天时总是得到“许多打开文件”的通知,我的代码如下:

    ServerBootstrap bootstrap = new ServerBootstrap( new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool()));

    private PipelineServer ps= new PipelineServer(listenMessage1);
    bootstrap.setPipelineFactory(ps);

    bootstrap.setOption("child.tcpNoDelay", true);
    bootstrap.setOption("child.keepAlive", true);
    bootstrap.setOption("reuseAddress", true);

    bootstrap.bind(new InetSocketAddress(server_port));

    ServerBootstrap bootstrap2 = new ServerBootstrap( new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool()));

    private PipelineServer ps2 new PipelineServer(listenMessage2);
    bootstrap2.setPipelineFactory(ps2);

    bootstrap2.setOption("child.tcpNoDelay", true);
    bootstrap2.setOption("child.keepAlive", true);
    bootstrap2.setOption("reuseAddress", true);

    bootstrap2.bind(new InetSocketAddress(server_port2));

listenMessage1& listenMessage2用于端口生成和端口监视之间的通信,处理程序解码和编码使用StringDecoder()& StringEncoder();但如果程序运行很长时间ex:1天,我们的日志发现“很多打开的文件”,我无法连接到服务器。

请你解决。 感谢

1 个答案:

答案 0 :(得分:0)

你检查过你的ulimit设置了吗?对于Linux上的服务器,默认情况下它很低。你可以查看“ulimit -n”。将它设置为大于1024的值。