Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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
Twitter HBC API:用于检查流式API连接状态的标志_Twitter_Twitter4j_Twitter Streaming Api_Twitter Hbc - Fatal编程技术网

Twitter HBC API:用于检查流式API连接状态的标志

Twitter HBC API:用于检查流式API连接状态的标志,twitter,twitter4j,twitter-streaming-api,twitter-hbc,Twitter,Twitter4j,Twitter Streaming Api,Twitter Hbc,如何检查twitter流媒体API是否已连接或断开?是否存在存储此信息的变量 失败时,Twitter Hosebird客户端(hbc)会在内部尝试重新连接到API。此信息已记录。如何在变量中检索连接的响应状态?这是一个相当老的问题,但由于遇到了相同的问题,我想与大家分享我的解决方案。基本上,我所做的是监听一个SocketTimeoutException异常,如果它发生,我设置一个布尔值isConnected=false。一旦我再次开始接收状态,我将该布尔值设置回isConnected=true。

如何检查twitter流媒体API是否已连接或断开?是否存在存储此信息的变量


失败时,Twitter Hosebird客户端(hbc)会在内部尝试重新连接到API。此信息已记录。如何在变量中检索连接的响应状态?

这是一个相当老的问题,但由于遇到了相同的问题,我想与大家分享我的解决方案。基本上,我所做的是监听一个
SocketTimeoutException
异常,如果它发生,我设置一个布尔值
isConnected=false
。一旦我再次开始接收状态,我将该布尔值设置回
isConnected=true
。这不是最漂亮的解决方案,但确实有效。下面是我的侦听器代码:

private StatusListener createListener() {
    return new StatusListener() {
        @Override
        public void onStatus( Status tweet ) {
            if (!isConnected)
                isConnected = true;

            doSomething(tweet);
        }

        ( ... ) // Other @Override functions

        @Override
        public void onException( Exception ex ) {
            if ( ( ex instanceof SocketTimeoutException ) && isConnected ) {
                handleConnectionLoss();
                isConnected = false;
            } else {
                System.err.println(ex);
            }
        }
    };
}

@谢谢你,彼得