我使用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类是否适合从会话中查找内容?
答案 0 :(得分:0)
用户会话已添加到连接对象(Ratchet\ConnectionInterface
)
没有特殊的方法。只是:
/** @var \Symfony\Component\HttpFoundation\Session\Session $session */
$session = $conn->Session;