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

Events::onClose

說明:

void Events::onClose(string $client_id);

客戶端與Gateway進(jìn)程的連接斷開時(shí)觸發(fā)。不管是客戶端主動(dòng)斷開還是服務(wù)端主動(dòng)斷開,都會(huì)觸發(fā)這個(gè)回調(diào)。一般在這里做一些數(shù)據(jù)清理工作。

注意:onClose回調(diào)里無法使用Gateway::getSession()來獲得當(dāng)前用戶的session數(shù)據(jù),但是仍然可以使用$_SESSION變量獲得。

注意:onClose回調(diào)里無法使用Gateway::getUidByClientId()接口來獲得uid,解決辦法是在Gateway::bindUid()時(shí)記錄一個(gè)$_SESSION['uid'],onClose的時(shí)候用$_SESSION['uid']來獲得uid。

注意:斷網(wǎng)斷電等極端情況可能無法及時(shí)觸發(fā)onClose回調(diào),因?yàn)檫@種情況客戶端來不及給服務(wù)端發(fā)送斷開連接的包(fin包),服務(wù)端就無法得知連接已經(jīng)斷開。檢測這種極端情況需要心跳檢測,并且必須設(shè)置$gateway->pingNotResponseLimit>0。這種斷網(wǎng)斷電的極端情況onClose將被延遲觸發(fā),延遲時(shí)間為小于$gateway->pingInterval*$gateway->pingNotResponseLimit秒,如果$gateway->pingInterval$gateway->pingNotResponseLimit 中任何一個(gè)為0,則可能會(huì)無限延遲。

參數(shù)

$client_id

全局唯一的client_id

返回值

無返回值,任何返回值都會(huì)被視為無效的

范例

use \GatewayWorker\Lib\Gateway;

class Events
{
    ...

    /**
     * 當(dāng)用戶斷開連接時(shí)觸發(fā)的方法
     * @param integer $client_id 斷開連接的客戶端client_id
     * @return void
     */
    public static function onClose($client_id)
    {
       // 廣播 xxx logout
       GateWay::sendToAll("client[$client_id] logout\n");
    }

    ...
}
編輯于2024-03-13 17:37:33 完善本頁 +發(fā)起討論
贊助商