Я использую Symfony2 с ClankBundle для funciontality для WebSocket. Я следил за инструкциями here (PdoSessionHandler) и here (Clank Session sharing), но все же я не могу получить информацию, хранящуюся в сеансе.Symfony2 и ClankBundle: не могут делиться сеансом
Я до сих пор с помощью встроенной отладки сервера, предоставленной Symfony, который работает на http://127.0.0.1:8000
Мой parameters.yml
parameters:
clank_host: 127.0.0.1
clank_port: 8080
Мой config.yml
framework:
session:
handler_id: session.handler.pdo
clank:
web_socket_server:
port: "%clank_port%"
host: "%clank_host%"
session_handler: session.handler.pdo
В контроллере :
$session = $this->get('session');
$session->set('user_token', $user->getId());
В теме услуг:
public function onSubscribe(Conn $conn, $topic)
{
file_put_contents('debug.txt', "onSubscribe" .$conn->resourceId . " connected" . " ".$conn->Session->get('user_token'). PHP_EOL, FILE_APPEND | LOCK_EX);
// ...
}
и сценарий на странице:
var myClank = Clank.connect("ws://127.0.0.1:8080");
myClank.on("socket/connect", function(session){
console.log("Successfully Connected!");
session.subscribe("topicservice/channel", function(uri, payload){
console.log("Received message");
});
// ...
})
Bit еще, когда пользователи подключаются и подписываться, $conn->Session->get('user_token')
возвращает нуль.
Любые идеи о том, что я делаю неправильно? Заранее спасибо