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

Gateway::bindUid

說明:

void Gateway::bindUid(string $client_id, mixed $uid);

將client_id與uid綁定,以便通過Gateway::sendToUid($uid)發(fā)送數(shù)據,通過Gateway::isUidOnline($uid)用戶是否在線。

uid解釋:這里uid泛指用戶id或者設備id,用來唯一確定一個客戶端用戶或者設備。

注意:

1、uid與client_id是一對多的關系,系統(tǒng)允許一個uid下有多個client_id。

2、但是一個client_id只能綁定一個uid,如果綁定多次uid,則只有最后一次綁定有效。

2、如果業(yè)務需要一對一的關系,可以通過Gateway::getClientIdByUid($uid)獲得某uid已經綁定的所有client_id,然后調用closeClient($client_id)踢掉之前的client_id。

3、client_id下線(連接斷開)時會自動執(zhí)行解綁,開發(fā)者無需調用Gateway::unbindUid解綁。

4、如果某個uid對應的所有client_id都下線了,則調用Gateway::isUidOnline($uid)將返回0,即uid不在線。

5、uid和client_id映射關系存儲在Gateway進程內存中。

6、調用Gateway::bindUid($client_id, $uid)的時機一般是在驗證連接合法性的時候。例如客戶端連上服務端后,發(fā)送的第一個數(shù)據包應當包含客戶端的鑒權信息(例如用戶名密碼或者可用于鑒權的token),服務端通過鑒權信息確定該連接屬于哪個uid,然后調用Gateway::bindUid($client_id, $uid)綁定。

參數(shù)

  • $client_id

客戶端的client_id

  • $uid

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

返回值

無返回值

范例

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

    public static function onMessage($client_id, $message)
    {
        // $message = '{"type":"login","uid":"xxxxx"}'
        $req_data = json_decode($message, true);
        Gateway::bindUid($client_id, $req_data['uid']);
    }

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