![](/img/trans.png)
[英]How can I have my netty client detect if my netty server listens on a port (is available)?
[英]netty open 2 port server & 1 port client
我想在服務器上打開2個端口,用於生產的1個端口,用於監視的2個端口,以及用於遠程登錄到另一個服務器的1個客戶端。 但是我的服務器在運行長達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()進行解碼和編碼; 但是,如果程序長時間運行:1天,我們的日志發現“到許多打開的文件”,而我無法連接到服務器。
請您解決。 謝謝
您檢查過ulimit設置了嗎? 對於Linux上的服務器,默認情況下它相當低。 您可以使用“ ulimit -n”進行檢查。 將其設置為大於1024的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.