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

跳轉(zhuǎn)頁(yè)面后可以讓client_id不變嗎?

exzhang

如題

每個(gè)頁(yè)面都這樣寫(xiě),到第二個(gè)頁(yè)面的時(shí)候client_id會(huì)刷新,我這么寫(xiě)應(yīng)該不對(duì)的吧?onopen是重新連接的吧?應(yīng)該要怎么寫(xiě)呢?
或者說(shuō)如何保存一個(gè)session,能保存uid,就算client_id刷新了也可以通過(guò)uid綁定

<script>
    ws = new WebSocket("ws://127.0.0.1:7272");
    ws.onopen = function() {
        console.log("The connection is successful.");
        $message = '{"type":"login"}'
        ws.send($message);
        console.log("login");
    };
    ws.onmessage = function(e) {
        console.log("收到服務(wù)端的消息:" + e.data);
        var date={"type":"login"};
    };
</script>
675 2 0
2個(gè)回答

efnic

按官網(wǎng)的示例,綁定uid即可。

  • exzhang 2024-10-26

    uid怎么保存?斷開(kāi)連接后獲取之前的uid

  • efnic 2024-10-26

    你的客戶端總有token、session、jwt之類的來(lái)標(biāo)識(shí)用戶身份。
    然后,接口解析出uid,使用 Gateway::bindUid 綁定。

  • Risin9 2024-10-26

    斷開(kāi)鏈接不是有回調(diào)嘛

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

    或者說(shuō)如何保存一個(gè)session,能保存uid,就算client_id刷新了也可以通過(guò)uid綁定

    如果說(shuō)是更換頁(yè)面同一個(gè)用戶刷新了client_id,需要發(fā)送消息給所有的頁(yè)面,可以將同一個(gè)用戶的client_id綁定到一個(gè)組里面

    void Gateway::joinGroup(string $client_id, mixed $group);
efnic

Gateway::sendToUid

說(shuō)明:
void Gateway::sendToUid(mixed $uid, string $message);
向uid綁定的所有在線client_id發(fā)送數(shù)據(jù)。

注意:默認(rèn)uid與client_id是一對(duì)多的關(guān)系,如果當(dāng)前uid下綁定了多個(gè)client_id,則多個(gè)client_id對(duì)應(yīng)的客戶端都會(huì)收到消息,這類似于PC QQ和手機(jī)QQ同時(shí)在線接收消息。

  • 暫無(wú)評(píng)論
??