【问题标题】:Twitter HBC API : Flag to check the status of the Streaming API ConnectionTwitter HBC API:检查 Streaming API 连接状态的标志
【发布时间】:2016-03-08 11:31:58
【问题描述】:

如何检查 twitter 流 API 是连接还是断开连接?有没有存储这些信息的变量?

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

【问题讨论】:

    标签: twitter twitter4j twitter-streaming-api twitter-hbc


    【解决方案1】:

    这是一个相当老的问题,但由于我遇到了同样的问题,我想分享我的解决方案。基本上,我所做的是监听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);
                }
            }
        };
    }
    

    【讨论】:

    • @谢谢彼得U
    猜你喜欢
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 2011-08-22
    • 2013-04-16
    相关资源
    最近更新 更多