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

關(guān)于關(guān)閉問題

縱橫

我做的是app聊天,
app調(diào)用的時(shí)候,根據(jù)當(dāng)前會(huì)員的mid注冊(cè)的
Gateway::bindUid($client_id, $msg);

app掛起的掛起的時(shí)候(切換到桌面,或者關(guān)閉屏幕) 當(dāng)前鏈接需要關(guān)閉
我在app里面調(diào)用的是ws.close()

對(duì)應(yīng)到Events.php里面的

   public static function onClose($client_id) {
       // 向所有人發(fā)送 
       //GateWay::sendToAll("$client_id logout");
       if($_SERVER==10002)
       {
           Gateway::closeClient($client_id);
           echo "client_id:{$client_id}\n";
       }       
   }

現(xiàn)在的問題是我每次進(jìn)入掛起在回復(fù) 發(fā)現(xiàn) Gateway::getClientIdByUid($msg) 數(shù)組就多一個(gè)值, 能不能把uid這個(gè)組整體注銷呢??

3074 1 0
1個(gè)回答

walkor 打賞

多一個(gè)說明之前的連接沒關(guān)閉,或者說服務(wù)端沒收到客戶端發(fā)送的關(guān)閉連接的fin包。
可能是ws.close沒運(yùn)行,或者運(yùn)行了沒起作用(沒發(fā)送fin包給服務(wù)端)。
服務(wù)端沒收到fin包,就不會(huì)調(diào)用onClose,就不會(huì)把對(duì)應(yīng)client_id從uid解綁。

上面只是猜測,建議每一步(ws.close onConnet onClose等)都打日志看看確定原因,服務(wù)端也抓包看看客戶端是否發(fā)了fin包過來。抓包方法workerman手冊(cè)有。另外去看下gatewayWorker手冊(cè)心跳部分。

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??