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

跳轉頁面后可以讓client_id不變嗎?

exzhang

如題

每個頁面都這樣寫,到第二個頁面的時候client_id會刷新,我這么寫應該不對的吧?onopen是重新連接的吧?應該要怎么寫呢?
或者說如何保存一個session,能保存uid,就算client_id刷新了也可以通過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("收到服務端的消息:" + e.data);
        var date={"type":"login"};
    };
</script>
555 2 0
2個回答

efnic

按官網的示例,綁定uid即可。

  • exzhang 2024-10-26

    uid怎么保存?斷開連接后獲取之前的uid

  • efnic 2024-10-26

    你的客戶端總有token、session、jwt之類的來標識用戶身份。
    然后,接口解析出uid,使用 Gateway::bindUid 綁定。

  • Risin9 2024-10-26

    斷開鏈接不是有回調嘛

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

    或者說如何保存一個session,能保存uid,就算client_id刷新了也可以通過uid綁定

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

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

Gateway::sendToUid

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

注意:默認uid與client_id是一對多的關系,如果當前uid下綁定了多個client_id,則多個client_id對應的客戶端都會收到消息,這類似于PC QQ和手機QQ同時在線接收消息。

  • 暫無評論
??