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

Gateway::isUidOnline

說明:

int Gateway::isUidOnline(mixed $uid);

(需要Gateway版本>=2.0.4) 如何查看Gateway版本

判斷$uid是否在線,此方法需要配合Gateway::bindUid($client_uid, $uid)使用。

如果某uid沒有通過Gateway::bindUid($client_uid, $uid)進(jìn)行任何綁定,那么對該uid調(diào)用Gateway::isUidOnline($uid)將返回0。

如果某uid綁定的client_id都已經(jīng)下線,那么對該uid調(diào)用Gateway::isUidOnline($uid)將返回0。

如果某uid綁定的client_id有至少有一個在線,那么對該uid調(diào)用 Gateway::isUidOnline($uid)將返回1。

參數(shù)

  • $uid

uid,可以是數(shù)字或者字符串

返回值

uid在線返回1,不在線返回0

注意:如果是客戶端斷網(wǎng)斷電等極端情況掉線,客戶端的onClose回調(diào)可能無法及時觸發(fā),參見onClose說明。也就是說對應(yīng)客戶端出現(xiàn)斷網(wǎng)斷電等極端掉線情況返回值可能是1,而并非期待的0。這種情況需要心跳來檢測已經(jīng)掉線的客戶端。

范例

use \GatewayWorker\Lib\Gateway;
class Events
{
    ...

    public static function onMessage($client_id, $message)
    {
        // $message = '{"type":"say_to_one","to_uid":100,"content":"hello"}'
        $req_data = json_decode($message, true);
        $uid = $req_data['to_uid'];
        // 如果是向某個客戶端發(fā)送消息
        if($req_data['type'] == 'say_to_one'))
        {
            // 如果不在線就先存起來
            if(!Gateway::isUidOnline($uid))
            {
                // 假設(shè)有個your_store_fun函數(shù)用來保存未讀消息(這個函數(shù)要自己實現(xiàn))
                your_store_fun($message);
            }
            else
            {
                // 在線就轉(zhuǎn)發(fā)消息給對應(yīng)的uid
                Gateway::sendToUid($uid, $req_data['content']);
            }
        }
    }

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