Gateway::bindUid()时是否可以使用$GLOBALS来记录uid,和使用$_SESSION有什么区别

0

手册里说:onClose回调里无法使用Gateway::getUidByClientId()接口来获得uid,解决办法是在Gateway::bindUid()时记录一个$_SESSION,onClose的时候用$_SESSION来获得uid。
 
我在实际使用过程中曾用$GLOBALS来记录uid,发现有时不能正确的获得UID,是这两个变量有什么区别么?网上也未查阅到相关资料,求大神们指点下。

已邀请:

latin - 挨踢男

赞同来自:

按照我的理解,$GLOBALS 当前进程的所有连接共享,假设A连接设置了$GLOBALS=a, B连接再设置$GLOBALS=b,则之前被设置的值$GLOBALS=a被覆盖了,导致错乱了。
 
$_SESSION是记录当前连接的数据,用户间不共享。
 

土豆没有皮

赞同来自:

$GLOBALS ,每个$GLOBALS是根据client_id命名的,而client_id是唯一的,这样也会有覆盖情况么?

要回复问题请先登录注册