Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Netty连接在30秒后变为非活动状态_Java_Netty - Fatal编程技术网

Java Netty连接在30秒后变为非活动状态

Java Netty连接在30秒后变为非活动状态,java,netty,Java,Netty,我正试图为一个项目建立一个网络连接,我成功地做到了。但是,30秒后,连接变为非活动状态。我故意不使用连接,因为它是一个测试连接,但我想在30秒后保持它的活动状态,以便将来执行任务。这是我创建连接的代码: try { Bootstrap b = new Bootstrap(); b.option(ChannelOption.TCP_NODELAY, true); b.option(ChannelOption.SO_KEEPALIVE, true);

我正试图为一个项目建立一个网络连接,我成功地做到了。但是,30秒后,连接变为非活动状态。我故意不使用连接,因为它是一个测试连接,但我想在30秒后保持它的活动状态,以便将来执行任务。这是我创建连接的代码:

try {
        Bootstrap b = new Bootstrap();
        b.option(ChannelOption.TCP_NODELAY, true);
        b.option(ChannelOption.SO_KEEPALIVE, true);
        b.group(new NioEventLoopGroup());
        b.channel(NioSocketChannel.class);
        b.handler(new ReadTimeoutHandler(50));

        InetSocketAddress sa = new InetSocketAddress("--------IP HIDDEN--------", 25454);
        ChannelFuture f = b.connect(sa.getAddress(), sa.getPort()).sync(); // (5)
        Channel chan = f.channel();
        //Channel becomes inactive after 30 seconds
    } catch (Exception e) {
        e.printStackTrace();
    }

为什么要添加一个
ReadTimeoutHandler
?当我打开一个连接时,它需要一个处理程序。在真实的处理程序中,有一个不同的处理程序,但我使用的类是另一个库的一部分,它不是Java附带的。ReadTimeoutHandler也会出现同样的问题,因此其他处理程序类不会出现问题。您对ReadTimeoutHandler的定义是什么?谁被解雇了?是的。当我运行chan.isActive()时,它返回false。我不会解雇你的。它会自动触发,我不想让它这样做。如果它自动触发,则意味着远程对等方关闭了连接。我们在这里无能为力。您可能需要实现某种保持活动的逻辑。