onWebSocketConnect 设置的的SESSION 在 onConnect 如何能取到

ohmyga

ws://127.0.0.1:8282/xxx

想在onWebSocketConnect 里取到xxx 然后在 onConnect 里使用这个xxx 如何能做到

谢谢大佬
(因业务需求xxx不可以在socket中传递)

2851 2 0
2个回答

walkor

onConnect 中取不到onWebSocketConnect中设置的session

  • ohmyga 2018-01-09

    在 onConnect 中使用 $session = Gateway::getSession($client_id); 确实是获取到了session 也是正确的,有什么弊端吗

  • walkor 2018-01-13

    有可能会出现有时候获取不到的现象。因为调用Gateway::getSession时,onWebSocketConnect可能还没触发

ohmyga
$gateway->onConnect = function($connection)
{
    $connection->onWebSocketConnect = function($connection , $http_header)
    {
        $_SESSION = substr($_SERVER, 1);
    };
};
public static function onConnect($client_id){
        $session = Gateway::getSession($client_id);
        Gateway::bindUid($client_id,$session);
        Gateway::sendToAll($session." 进入");
    }
  • 暂无评论
年代过于久远,无法发表回答
🔝