2015-12-03 11 views
2

Как проверить, подключен или отключен API потоковой передачи twitter? Есть ли какая-либо переменная, которая хранит эту информацию?Twitter API HBC: флаг для проверки состояния соединения потокового API

В случае сбоя, Twitter Hosebird Client (hbc) внутренне пытается подключиться к API. Эта информация регистрируется. Как получить статус ответа соединения в переменной?

ответ

1

Это довольно старый вопрос, но поскольку я столкнулся с той же проблемой, я хотел поделиться своим решением. В основном, то, что я делаю, это прослушивание исключения SocketTimeoutException, и если это происходит, я устанавливаю логическое значение isConnected = false. Как только я снова начну получать статусы, я установил, что boolean вернется к 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); 
      } 
     } 
    }; 
} 
+0

@Thank You PeterU –