国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

會有什么原因會讓websocket已經(jīng)建立的connection數(shù)量減少?

zhouaini528

應(yīng)用場景:
我采用websocket的方法連接對方的服務(wù),對方的服務(wù)是以用戶登錄的方式連接。即我每多一個connection都是一個普通的用戶登錄連接狀態(tài)。由于網(wǎng)絡(luò)的問題或者對方服務(wù)器鑒權(quán)問題,我每隔4小時把所有的用戶連接斷開$con->close()方法,然后通過onClose事件等待10秒重新連接。

出現(xiàn)的問題:
每個用戶connection我都做了一個timer監(jiān)聽它與對方服務(wù)器的連接狀態(tài),而且我也在connection設(shè)置單獨(dú)的屬性。過了一段時間~通常會1天以上~會出現(xiàn)connection消失,我是通過server.php status 查看當(dāng)前整個服務(wù)的狀態(tài),發(fā)現(xiàn)connection全部沒有了。但是每個connection timer監(jiān)聽還在,但是已經(jīng)無法獲取之前的屬性等等一些列數(shù)據(jù)了。

worker_name為none的用戶連接會消失。比如現(xiàn)在是2個用戶~過段時間就會丟失2個變?yōu)?。 請問這是什么原因??我查找了很久很久了,也不知道如何下手查找了?請求幫助!

我現(xiàn)在是這樣測試的~我手動通過$con->close()斷開連接,它會自動觸發(fā)onClose事件,但是我這個時候不重連它(不使用$con->reConnect()方法), 我status看了connection并沒有減少數(shù)量。 我接下來應(yīng)該如何排查?

2115 1 0
1個回答

six

connections 表示當(dāng)前未斷開的連接數(shù),如果某個連接斷開了,連接對象銷毀了,connections就相應(yīng)減1。
如果connections為0,說明連接都斷開了。至于定時器還在,是因為斷開連接后沒刪除定時器,連接和定時器是2個不同的東西,連接斷開了定時器還是一直存在的。你應(yīng)該在連接onclose的時候刪除定時器。

  • zhouaini528 2021-08-18

    謝謝你的解答。 我現(xiàn)在是這樣測試的~我手動通過$con->close()斷開連接,它會自動觸發(fā)onClose事件,但是我這個時候不重連它, 我status看了connection并沒有減少數(shù)量。 我接下來應(yīng)該如何排查?

  • zhouaini528 2021-08-18

    我沒有通過$con->reConnect();這個方法。但是connection并沒有減少數(shù)量

  • six 2021-08-18

    定時器里引用了$connection對象,導(dǎo)致$connection對象沒有釋放。把定時器刪除了估計就釋放了。

年代過于久遠(yuǎn),無法發(fā)表回答
??