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

Gateway 下保存session數(shù)據(jù)問題

程曉冬

按照手冊的操作

public onMessage($client_id, $message)
{
    $group = 'room-1';
    $_SESSION = $message;
    $_SESSION = $message;
    Gateway::joinGroup($client_id, $group);
    var_export(Gateway::getClientSessionsByGroup($group));
}

應(yīng)該打印出來是

array(
    '7f00000108fc00000008' => array('name'=>'Tom', 'sex'=>1),
    '7f00000108fc00000009' => array('name'=>'Joan', 'sex'=>0),
)

但是我打印的只有client_id
win下 laravel框架
這是為什么,感謝

8118 1 0
1個回答

walkor 打賞
use \GatewayWorker\Lib\Gateway;
class Events
{
    ...
    public onMessage($client_id, $message)
    {
        $group = 'room-1';
        $_SESSION = $message;
        $_SESSION = $message;
        Gateway::joinGroup($client_id, $group);
        var_export(Gateway::getClientSessionsByGroup($group));
    }
    ...
}

手冊里的教程是在GatewayWorker容器里的,是在Events.php里操作GatewayWorker容器對應(yīng)客戶端的$_SESSION變量。所以可以正常返回。

你的代碼是在是在apache/php-fpm環(huán)境這樣的webserver容器里的,
利用GatewayClient遠程操作GatewayWorker。直接用$_SESSION變量只會影響本地apache/php-fpm,
對于遠程GatewayWorker不會有效。Gateway手冊http://doc2.workerman.net/326141也有講到webserver里的$_SESSION和GatewayWorker是不互通的。

雖然GatewayClient不能通過$_SESSION變量來操作GatewayWorker的session,
但是仍然可以通過Gateway::setSession/getSession/updateSession接口遠程操作GatewayWorker的session,參見http://doc2.workerman.net/326149。所以把$_SESSION操作換成響應(yīng)的接口即可。

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