timer计时器异步的问题

javascript

请问如果有2个房间,每个房间发送一个计时器倒计时,怎么样才能每个房间都属于自己的倒计时,我现在做的效果是用户进入房间,给房间号存到SESSION里面。然后在计时器里面获取SESSION也就是房间号,好像不是异步执行,会卡住另外一个房间的计时器,该怎么做?求指导谢谢

3056 1 0
1个回答

walkor

$_SESSION使用注意事项
使用$_SESSION时无需调用session_start等函数,可直接使用
$_SESSION中无法保存资源类型的数据
当客户端连接断开后,对应的客户端$_SESSION将会清除
GatewayWorker中的$_SESSION与WebServer(PHP-FPM)中的$_SESSION无法互通
定时器中不要直接使用$_SESSION变量,因为定时器运行那一刻无法确定$_SESSION变量里存储的值属于哪个client_id。如果定时器里面需要获得session,可以使用Gateway::getSession($client_id)获取

手册里有写,定时器里无法使用SESSION,异步环境无法确认SESSION属于哪个client_id

  • javascript 2017-06-28

    谢谢回复,那能告诉我用什么思路去做吗?谢谢

  • walkor 2017-06-28

    上面写了

  • javascript 2017-06-28

    @1:好吧。Gateway::getSession($client_id)我琢磨琢磨。谢谢了

年代过于久远,无法发表回答
🔝