簡體   English   中英

如何停止在 kotlin 中重新連接以前的插座 object?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM