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

使用 gatewayworker 時,如果期望所有已經(jīng)連上的用戶重連,應(yīng)該怎么做?

= - =

問題描述

文檔沒找到相關(guān)信息,源碼找到了 BusinessWorker->gatewayConnections

我在 Events::onClose 循環(huán) gatewayConnections,調(diào)用 connection->close 后,無法判斷是否有效。

目的:
希望開發(fā)階段 reload 代碼后,能自動把客戶端斷開,讓他們重連。因為客戶端連上的時候,Events::onConnect 有做一些處理,例如初始化一個游客賬號,將連接與游客綁定在一起。

見截圖。

截圖

1015 2 0
2個回答

不敗少龍

試試心跳檢測

  • = - = 2022-11-02

    已經(jīng)做了心跳檢測啦,我是希望開發(fā)階段 reload 代碼后,能自動把客戶端斷開,讓他們重連。因為客戶端連上的時候,Events::onConnect 有做一些處理

  • 不敗少龍 2022-11-02

    斷開的之前先發(fā)送一個類型 內(nèi)容給 客戶端 這個類型專門處理失敗的

  • = - = 2022-11-02

    嗯,按老大說的方案,發(fā)給客戶端斷開連接是可行。不知道有沒有更好的方法

walkor 打賞

客戶端連接的是gateway進程,不是連的businessWorker進程,businessWorker進程無法獲取客戶端連接對象。BusinessWorker->gatewayConnections 是gateway與businessWorker的內(nèi)部連接,斷開它們不影響客戶端連接。

你可以用Gateway::sendToAll()給所有客戶端發(fā)消息,讓客戶端自己斷開重連。但是看起來這個重連好像沒什么意義

  • = - = 2022-11-02

    那希望未進行 Gateway::bindUid 的連接以游客身份存在,并且代碼 reload 后他們也能保持游客身份應(yīng)該怎么做呢。更新了提問中的截圖。因為很多信息都是跟的 BusinessWorker,當(dāng) BusinessWorker 重新加載后,已有連接的信息會全部丟失。當(dāng)前是考慮讓客戶端斷掉重連,這樣能保證都是重新開始的。

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