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

Events::onConnect

說(shuō)明:

void Events::onConnect(string $client_id);

當(dāng)客戶(hù)端連接上gateway進(jìn)程時(shí)(TCP三次握手完畢時(shí))觸發(fā)的回調(diào)函數(shù)。

參數(shù)

$client_id

client_id固定為20個(gè)字符的字符串,用來(lái)全局標(biāo)記一個(gè)socket連接,每個(gè)客戶(hù)端連接都會(huì)被分配一個(gè)全局唯一的client_id。

如果client_id對(duì)應(yīng)的客戶(hù)端連接斷開(kāi)了,那么這個(gè)client_id也就失效了。當(dāng)這個(gè)客戶(hù)端再次連接到Gateway時(shí),將會(huì)獲得一個(gè)新的client_id。也就是說(shuō)client_id和客戶(hù)端的socket連接生命周期是一致的。

client_id一旦被使用過(guò),將不會(huì)被再次使用,也就是說(shuō)client_id是不會(huì)重復(fù)的,即使分布式部署也不會(huì)重復(fù)。

只要有client_id,并且對(duì)應(yīng)的客戶(hù)端在線(xiàn),就可以調(diào)用Gateway::sendToClient($client_id, $data)等方法向這個(gè)客戶(hù)端發(fā)送數(shù)據(jù)。

返回值

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

注意

$client_id是服務(wù)端自動(dòng)生成的并且無(wú)法自定義。

如果開(kāi)發(fā)者有自己的id系統(tǒng),可以用過(guò)Gateway::bindUid($client_id, $uid)把自己系統(tǒng)的id與client_id綁定,綁定后就可以通過(guò)Gateway::sendToUid($uid)發(fā)送數(shù)據(jù),通過(guò)Gateway::isUidOnline($uid)用戶(hù)是否在線(xiàn)了。

onConnect事件僅僅代表客戶(hù)端與gateway完成了TCP三次握手,這時(shí)客戶(hù)端還沒(méi)有發(fā)來(lái)任何數(shù)據(jù),此時(shí)除了通過(guò)$_SERVER['REMOTE_ADDR']獲得對(duì)方ip,沒(méi)有其他可以鑒別客戶(hù)端的數(shù)據(jù)或者信息,所以在onConnect事件里無(wú)法確認(rèn)對(duì)方是誰(shuí)。要想知道對(duì)方是誰(shuí),需要客戶(hù)端發(fā)送鑒權(quán)數(shù)據(jù),例如某個(gè)token或者用戶(hù)名密碼之類(lèi),在onMesssge里做鑒權(quán)。

onConnect范例

use \GatewayWorker\Lib\Gateway;

class Events
{

    public static function onConnect($client_id)
    {
       Gateway::sendToCurrentClient("Your client_id is $client_id");
    }

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