登錄的時候client_id綁定了 uid, 退出的使用 Gateway::getUidByClientId 無法獲取uid
onClose 方法時,我想告訴前臺那個用戶UI的退出房間,但是無法獲取uid ,發(fā)現(xiàn)uid 已經(jīng)刪除。
http://www.wtbis.cn/doc/gateway-worker/get-uid-by-client-id.html#%E6%B3%A8%E6%84%8F
這個手冊有寫,onClose的時候無法Gateway::getUidByClientId($client_id)
獲得uid。因?yàn)檫B接斷開后gateway將連接的相關(guān)數(shù)據(jù)都銷毀了,調(diào)用接口找不到數(shù)據(jù)。
業(yè)務(wù)中最好不要調(diào)用Gateway::getUidByClientId($client_id)
,用session來記錄uid性能最好。
看了手冊,根據(jù)大佬的意思,在綁定用戶id的后面緊接著寫了:
$_SESSION[$client_id] = $uid;
然后在 onClose 方法內(nèi)如下打印了:
public static function onClose($client_id) {
echo '<pre>-----------';print_r($_SESSION);
......
}
總感覺這樣寫著好別扭,大佬你為何不以 Gateway 的形式幫大家實(shí)現(xiàn)這個功能呢?畢竟這個需求太廣泛了。
@walkor