我是用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));
}
来个大佬解惑下,小弟不懂啊
当客户端连接关闭时,客户端的$_SESSION会被清除,在此之前gateway会尝试通知并会捎带上session数据转发给BusinessWorker进程,所以执行到Events::onClose方法时仍然能拿到$_SESSION数据。