Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 了解Apache Telnet客户端是否已连接并正在运行_Java_Client_Telnet - Fatal编程技术网

Java 了解Apache Telnet客户端是否已连接并正在运行

Java 了解Apache Telnet客户端是否已连接并正在运行,java,client,telnet,Java,Client,Telnet,我使用org.apache.commons.net.Telnet.TelnetClient实现了一个Java Telnet客户端,我不知道连接何时启动并运行。 这是连接部分: static org.apache.commons.net.telnet.TelnetClient tc = new org.apache.commons.net.telnet.TelnetClient(); TerminalTypeOptionHandler ttopt = new TerminalTy

我使用org.apache.commons.net.Telnet.TelnetClient实现了一个Java Telnet客户端,我不知道连接何时启动并运行。 这是连接部分:

    static org.apache.commons.net.telnet.TelnetClient tc = new org.apache.commons.net.telnet.TelnetClient();

    TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler("VT100", true, true, true, true); //VT52
    EchoOptionHandler echoopt = new EchoOptionHandler(true, false, true, false);
    SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true);

    try
    {
        SecurityTelnetClient.tc.addOptionHandler(ttopt);
        SecurityTelnetClient.tc.addOptionHandler(echoopt);
        SecurityTelnetClient.tc.addOptionHandler(gaopt);
    }
    catch (Exception e)
    {
        log.error("Error registering option handlers: " , e);
    }

    tc.connect("IP", "PORT");
此函数返回连接状态:

    public boolean isConnected(){
         return this.tc.isConnected();
    }
但即使此函数返回true,实际上也不会有更多的数据从Telnet服务器发送到通道。我如何理解连接被阻塞


谢谢

一般来说,服务器正在等待您发送内容。如果您不发送任何内容,您将在read方法中被阻止。在我的情况下,我不向服务器发送任何内容,而是等待来自服务器的数据。连接可能一整天都开放。我想我可以每X分钟重新启动一次连接,那么你到底有什么问题?当应用程序启动时没有问题,但每天早上晚上之后,我必须重新启动telnet客户端连接,因为即使isConnected()函数返回“True”,也无法工作(不会从服务器接收任何信息)。所以问题是,为什么函数返回true,但连接不能正常工作?通常,服务器会等待您发送一些东西。如果您不发送任何内容,您将在read方法中被阻止。在我的情况下,我不向服务器发送任何内容,而是等待来自服务器的数据。连接可能一整天都开放。我想我可以每X分钟重新启动一次连接,那么你到底有什么问题?当应用程序启动时没有问题,但每天早上晚上之后,我必须重新启动telnet客户端连接,因为即使isConnected()函数返回“True”,也无法工作(不会从服务器接收任何信息)。所以问题是为什么函数返回true,但连接不能正常工作?