不懂为何在断开连接后还能在$_SESSION中准确的获取已断开的用户数据

0

我是用Gateway结合TP5学习写了下聊天室deom,
登录时在TP5使用Gateway的setSession接口存数据,
//存到session中
Gateway::setSession($client_id,);
用户断开在时GawayWworker的Events中的onClose触发方法中使用
$_SESSION获取数据居然可以准确的获取到已断开连接用户的数据,
不是断开后改用户的数据就没了吗?而且是怎么准确的获取到已断开连接用户的数据?


if (isset($_SESSION)){
$room_id = $_SESSION;
$client_name = $_SESSION;
$new_message = ;
Gateway::sendToGroup($room_id,json_encode($new_message));
}
已邀请:

blogdaren - 常年游走于 Linux、PHP、C、VIM 之间【http://www.phpcreeper.com】

赞同来自: liaojianfeng

当客户端连接关闭时,客户端的$_SESSION会被清除,在此之前gateway会尝试通知并会捎带上session数据转发给BusinessWorker进程,所以执行到Events::onClose方法时仍然能拿到$_SESSION数据。

liaojianfeng

赞同来自:

来个大佬解惑下,小弟不懂啊

要回复问题请先登录注册