Это так? нормальное поведение для клиента Android, а что касается того, что я испытал с веб-клиентом, сеанс был правильно закрыт после закрытия вкладки?
Я искал проблема в Интернете, но пока безуспешно. Я хочу убедиться, произошло ли это из-за моей плохой логики кода или просто из-за ошибочной реализации Websocket из библиотеки?
Вот как я начинаю новый сеанс веб-сокета в основная деятельность
Код: Выделить всё
var request: Request = Request.Builder()
.url("ws://$serverIP:8080/example/sim/speed")
.build()
var webSocketListener: WebSocketListener = object : WebSocketListener() {
override fun callback(msg: Message) {
updateSpeed(msg.content)
}
override fun onClosing(webSocket: WebSocket?, code: Int, reason: String?) {
super.onClosing(webSocket, code, reason)
}
}
var webSocket = client!!.newWebSocket(request, webSocketListener)
The onClosed не было вызвано при закрытии приложения, а только тогда, когда функция close вызывалась вручную.
Я уверен, что она каждый раз открывала новый сокет потому что я вижу новые сеансы, созданные на сервере с разными портами.
Я хочу, чтобы приложение закрывало свое соединение до того, как оно будет закрыто.
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/573 ... app-killed
Мобильная версия