同一个对象值不一样,看图片上红色的部分
print_r($_SESSION['UserInfo']->GetSaveArray());这是在OnMessage里的 $Array=$_SESSION['UserInfo']->GetSaveArray(); print_r($Array);这是Onclse里的帮我看下这是为啥
这里写步骤
找到办法了,那就是第一 类里不要写构造函数和析构函数第二,用updatesession这个函数来更新gateway进程存的session,哈哈全搞定了
不要$_SESSION赋值与Gateway::updateSession同时操作同一个$client_id,可能会造成session值与预期效果不符
手册里的这个好像说的有矛盾,因为你只在BusinessWorker进程里修改了当前会话值,这个值是没法自动更新到gatewayworker里的,只有当给客户端发消息的时候才能更新,那么这时候客户端断网了,然后又心跳触发onclose了, 这时要在onclose里使用session,那么其实最后一次修改会话就是无效的了,不知道是不是这样
找到办法了,那就是第一 类里不要写构造函数和析构函数第二,用updatesession这个函数来更新gateway进程存的session,哈哈全搞定了
不要$_SESSION赋值与Gateway::updateSession同时操作同一个$client_id,可能会造成session值与预期效果不符
手册里的这个好像说的有矛盾,因为你只在BusinessWorker进程里修改了当前会话值,这个值是没法自动更新到gatewayworker里的,只有当给客户端发消息的时候才能更新,那么这时候客户端断网了,然后又心跳触发onclose了,
这时要在onclose里使用session,那么其实最后一次修改会话就是无效的了,不知道是不是这样