文檔沒找到相關(guān)信息,源碼找到了 BusinessWorker->gatewayConnections
我在 Events::onClose 循環(huán) gatewayConnections,調(diào)用 connection->close 后,無法判斷是否有效。
目的:
希望開發(fā)階段 reload 代碼后,能自動把客戶端斷開,讓他們重連。因為客戶端連上的時候,Events::onConnect 有做一些處理,例如初始化一個游客賬號,將連接與游客綁定在一起。
見截圖。
客戶端連接的是gateway進程,不是連的businessWorker進程,businessWorker進程無法獲取客戶端連接對象。BusinessWorker->gatewayConnections 是gateway與businessWorker的內(nèi)部連接,斷開它們不影響客戶端連接。
你可以用Gateway::sendToAll()給所有客戶端發(fā)消息,讓客戶端自己斷開重連。但是看起來這個重連好像沒什么意義
那希望未進行 Gateway::bindUid 的連接以游客身份存在,并且代碼 reload 后他們也能保持游客身份應(yīng)該怎么做呢。更新了提問中的截圖。因為很多信息都是跟的 BusinessWorker,當(dāng) BusinessWorker 重新加載后,已有連接的信息會全部丟失。當(dāng)前是考慮讓客戶端斷掉重連,這樣能保證都是重新開始的。