Я использую библиотеку OkHttp для соединений WebSocket на Java, и мне интересно, закроет ли метод onFailure, включенный в класс WebSocketListener, соединение WebSocket по умолчанию или мне нужно вручную закрыть соединение. p>
Вот моя реализация метода onFailure:
Код: Выделить всё
public void onFailure(@NonNull WebSocket webSocket, @NonNull Throwable t, @Nullable Response response) {
super.onFailure(webSocket, t, response);
if (!webSocket.close(1000, "Connection closed")) {
webSocket.cancel();
close();
}
}
Как видите, я вручную вызываю метод webSocket.close(), чтобы закрыть соединение WebSocket с указанным кодом состояния и причиной. Я также включил оператор if, чтобы проверить, открыто ли соединение WebSocket, прежде чем закрывать его, и вызываю метод cancel(), чтобы освободить любые ресурсы, удерживаемые соединением WebSocket, если метод close возвращает false.
Итак, мой вопрос: метод onFailure автоматически закрывает соединение WebSocket в OkHttp, или мне нужно вручную закрыть соединение самостоятельно, как я это сделал в своей реализации?
Подробнее здесь:
https://stackoverflow.com/questions/753 ... -in-okhttp