我在登录的时候将用户id和client_id绑定了。然后在自定义的控制器中获取好友的uid、并用getClientIdByUid()这个方法去获取好友的client_id,返回是一个空数组。我想问问是不是bindUid和getClientIdByUid是不是只能在同一个地方用。在其他地方就获取不到了?
不是
那请问一下通过getClientIdByUid这个函数获取不到id有什么原因呢
uid传错了或者client_id已经离线了,还有可能是用了gatewayClient和GatewayWorker的版本不一致
在bindUid方法后面我去用getClientIdByUid是正常拿到client_id.在另一个控制器下就不行。空数组,很奇怪。而且我把uid写死了去测试,也是登录状态。版本我也看了都是3.0.12
@1393:我刚刚发现我刚刚连接了socket,onClose方法就执行了。可是我在js中没有用close方法,后台代码也没有关闭socket。这是怎么回事呢
我也遇到类似问题,请问你楼主的问题解决了吗 我的报如下错误: getAllGatewayAddressesFromRegister fail. tcp://127.0.0.1:8586 return 'HTTP/1.1 400 Bad Request
我的问题是在于我在登录页面用webSocket建立了连接并且bindUid,当网页跳转后,连接就断开了。断开之后后台的一系列操作就不能正常执行的
一般来说,如果正常绑定,是可以用getClientIdByUid的。如果不能用,就应该去查看连接了。你这个注册地址的话,就去start_register.php文件看看端口绑定什么的
我找到原因了,我应该用gatewayclient,而不是用GatewayWorker
不是
那请问一下通过getClientIdByUid这个函数获取不到id有什么原因呢
uid传错了或者client_id已经离线了,还有可能是用了gatewayClient和GatewayWorker的版本不一致
在bindUid方法后面我去用getClientIdByUid是正常拿到client_id.在另一个控制器下就不行。空数组,很奇怪。而且我把uid写死了去测试,也是登录状态。版本我也看了都是3.0.12
@1393:我刚刚发现我刚刚连接了socket,onClose方法就执行了。可是我在js中没有用close方法,后台代码也没有关闭socket。这是怎么回事呢
我也遇到类似问题,请问你楼主的问题解决了吗
我的报如下错误:
getAllGatewayAddressesFromRegister fail. tcp://127.0.0.1:8586 return 'HTTP/1.1 400 Bad Request
我的问题是在于我在登录页面用webSocket建立了连接并且bindUid,当网页跳转后,连接就断开了。断开之后后台的一系列操作就不能正常执行的
一般来说,如果正常绑定,是可以用getClientIdByUid的。如果不能用,就应该去查看连接了。你这个注册地址的话,就去start_register.php文件看看端口绑定什么的
我找到原因了,我应该用gatewayclient,而不是用GatewayWorker