gpt4 book ai didi

Symfony2 和 ClankBundle : cannot share session

转载 作者:行者123 更新时间:2023-12-04 16:13:11 25 4
gpt4 key购买 nike

我正在使用 Symfony2 和 ClankBundle 来实现 WebSocket 功能。
我按照说明报here (PdoSessionHandler)here (Clank Session sharing) ,但我仍然无法获取我存储在 session 中的信息。

我仍在使用 Symfony 提供的内置调试服务器,它在 http://127.0.0.1:8000 上运行

我的参数.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

在 Controller 中:
    $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");
});
// ...
})

仍然有点,当用户连接和订阅时, $conn->Session->get('user_token')返回空值。

关于我做错了什么的任何想法?
先感谢您

最佳答案

我发现了问题所在。

Symfony 内置服务器和 clank 服务器都在 127.0.0.1 上运行,但我从浏览器访问 localhost .

似乎这些被认为是两个不同的域。很高兴知道。

关于Symfony2 和 ClankBundle : cannot share session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29817544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com