Есть такой коннект Вебсоккета, использую библиотеку:
import com.neovisionaries.ws.client.*;
Long PING = 40000L;
Long PONG = 40000L
WebSocketFactory wsf = new WebSocketFactory();
Main.ws = wsf
.createSocket(host)
.addProtocol(protocol)
.setUserInfo(username, password)
.setPingInterval(PING)
.setPongInterval(PONG)
.connect()
;
Соккет работает нормально примерно 60 мин (пару дней было ровно 60 мин, сегодня время немного увеличилось (примерно 70 мин)), а потом идет зависание (обрыв). Со стороны сервера мне говорят что это с моей стороны или возможно проблемы с сетью (основываясь на код завершения на сервере)
Я уже пробовал слать самостоятельно пинг каждые 40сек и обнаружил это зависание получается так - шлется пинг, а ответа соответсвенно НЕТ. вот в этом месте оно просто зависает.
.....
if(Main.ws.isOpen()) {
LOGGER.info("WS-PING sendState");
Main.ws.sendPing(); // зависает здесь
}
......
Как это побороть?
Как вариант думал сделать реконнект - но оно зависает. Хотя есть еще вариант что проблема может быть связана с потоками, тк этот соккет пока не синхронизирован с основным потоком и завершается позже основного Main. Спасибо.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Кто-нибудь может подсказать, как реализовать подобный TabLayout?