无法在RPC中获取会话参数

时间:2015-06-25 06:47:02

标签: symfony session ratchet

我使用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类是否适合从会话中查找内容?

1 个答案:

答案 0 :(得分:0)

用户会话已添加到连接对象(Ratchet\ConnectionInterface

没有特殊的方法。只是:

/** @var \Symfony\Component\HttpFoundation\Session\Session $session */
$session = $conn->Session;