win版本的GatewayWorker
我在login的时候进行了Gateway::bindUid($client_id,$uId);的操作,
然后我紧跟着写了以下代码
$tt = Gateway::isUidOnline($uId);
echo ' ==**>'.$tt.' d=== ';
$cid = Gateway::getClientIdByUid($uId);
var_dump($cid);
发现$tt跟$cid 分别是0跟空的数组。
而我同时使用Gateway::sendToUid($uId,json_encode( $new_message));是能给$uId发送消息的。
为什么Gateway::isUidOnline跟Gateway::getClientIdByUid返回的都是0或者空呢?
$uId明明在线啊
binduid是异步的操作,不能完全保证设置完后立刻成功
@walkor 但是我在其它非login的case里面(只在login的时候binduid)使用 $_SESSION 是能获取到数据的,在其它case中使用sendToUid跟getClientIdByUid 一样是0和空,但同时也是可以通过sendToUid发送消息
@walkor 而且我设置成功后,我调用sendToUid是能发送消息成功的。但是isUidOnline跟getClientIdByUid 就不可以
真的好郁闷
你可以重新更新GatewayWorker代码试下,有可能是使用了开发过程中产生的一个中间版本
@walkor 从github上获取?还是在官网上下载?
哪个新点?
我现在用的是 7月13号从官网下载的
workerman-chat-for-win-master.zip