Не удается получить параметры сеанса в RPC

Я использую https://github.com/JDare/ClankBundle для сокетов. Я пытаюсь войти в систему из сеанса в службе RPC:

namespace Example\Bundle\FrontendBundle\RPC;

use Ratchet\ConnectionInterface as Conn;
use Symfony\Component\HttpFoundation\Session\Session;

class Chat
{
    private $user;

    /**
     * @param Session $session
     */
    public function __construct(Session $session)
    {
        //...
    }

    public function someMethod(Conn $conn, $params)
    {
        //...
    }
}

Конфиг службы такой:

example_frontend.chat_rpc:
    class: Example\Bundle\FrontendBundle\RPC\Chat
    arguments: ['@session']

Сессия используется совместно с memcached. (Все необходимые настройки выполнены) Но когда я подключаюсь к серверу сокетов и пытаюсь что-то получить, кажется, что сеанс не запущен (также $_SESSION не существует).

Как я могу это исправить? Является ли класс RPC подходящим местом для поиска чего-либо из сеанса?


person Sergei Gorjunov    schedule 25.06.2015    source источник
comment
Вы нашли решение?   -  person Damonsson    schedule 29.06.2015


Ответы (1)


Сессия пользователя добавлена ​​в объект подключения (Ratchet\ConnectionInterface)

Специального метода для этого нет. Только что:

/** @var \Symfony\Component\HttpFoundation\Session\Session $session */
$session = $conn->Session;
person Sergei Gorjunov    schedule 03.07.2015