[英]How to stop reconnecting previous socket object in kotlin?
我目前正在開發一個聊天應用程序 android 項目,我遇到了一個錯誤。 我發現的錯誤是,當我打開應用程序時,套接字連接成功,但是當我退出應用程序並再次打開時,以前的套接字會創建連接。 它重新連接。 我已經將 IO.Options forceNew 添加為 true 但它沒有用。 下面是我如何連接到服務器的代碼片段
val opts = IO.Options()
opts.forceNew = true
opts.reconnection = false
socket = IO.socket("https://test.com.ph:3000",opts)
socket.connect()
socket.on(Socket.EVENT_CONNECT) {
activity.runOnUiThread {
Timber.d("$MESSAGING_URL ==========> CONNECTED")
}
}
我找到了解決方案。 我發現當應用程序使用后退按鈕關閉時,它不會完全殺死應用程序。 它被添加到后台線程中。 當我再次打開應用程序時,它將創建另一個線程,導致多個套接字偵聽。 所以我所做的就是在這樣調用 onDestroy 時完全殺死該應用程序:
override fun onDestroy() {
super.onDestroy()
android.os.Process.killProcess(android.os.Process.myPid())
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.