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

workerman 的websocket協(xié)議實現(xiàn) 有cookie ,這個可以用來實現(xiàn)session嗎?有什么注意點嗎?

wuchuguang

項目基于workerman 的websocket協(xié)議?,F(xiàn)在想實現(xiàn)一套類似$_SESSION方式來處理用戶狀態(tài)什么的。對于session不算很了解。在workerman上實現(xiàn)session有什么注意點嗎? 謝謝。

6852 1 0
1個回答

walkor 打賞

workerman里面直接利用$connection對象存儲對應(yīng)鏈接的數(shù)據(jù)即可。
php的對象有個特性,可以動態(tài)給它賦值屬性,可以利用這點實現(xiàn)某個客戶端的數(shù)據(jù)存儲。

例如動態(tài)增加個session屬性來存儲session信息,就可以類似這樣

     $worker->onMesssae = function($con, $data) {
        // data={"type":"login", "user_id":"101", "name":"xxxx"}
        $data = json_enocde($data, true);
        // 沒設(shè)置過session屬性,則沒登錄
        if (!isset($con->session)) {
            // 給鏈接對象動態(tài)增加一個session屬性
            $con->session = array('user_id'=>$data, 'name'=>$data);
        }
        ...

如果是GatewayWorker,則直接可以用$_SESSION設(shè)置獲取當(dāng)前鏈接的session數(shù)據(jù)

  • wuchuguang 2016-08-15

    好的。剛剛我用您 這方式實現(xiàn)了,明天測一測。非常感謝。

  • walkor 2016-08-15

    不客氣

  • ontheway 2016-12-28

    這樣,如果知道別人的user_id就可以冒充別人登錄了

  • walkor 2016-12-29

    是的,上面為了方便演示,沒有加權(quán)限驗證

年代過于久遠,無法發(fā)表回答
??