与TP5结合的时候,Gateway::getClientSessionsByGroup方法获取不到值

搬砖屌丝

我用的是win版本的

[attach]898[/attach]

[attach]899[/attach]

[attach]897[/attach]

阅读 2250
5个回答

mdx2007

不应该是先joinGroup 然后再getClientSessionsByGroup么?

  • 搬砖屌丝 2017-12-29

    刚才我试了下,先joinGroup在getClientSessionsByGroup也获取不到值,我用的是GatewayClient3.0里面的方法。我看workerman-chat PHP聊天室里面写的也是先获取getClientSessionsByGroup在joinGroup的,他的就能获取到,结合到TP里面用GatewayClient的getClientSessionsByGroup方法就不行,求大神指导

  • mdx2007 2017-12-29

    我记得GatewayClient 版本要和workerman-chat里gatewayWorker的版本一致才行

  • 搬砖屌丝 2017-12-29

    @1490:GatewayClient是在github下最新3.0的,GatewayWorker也是最新的版本。很奇怪,在Event.php里的onMessage里面是可以获取到的,到了TP方法里用GatewayClient去获取分组里全部用户就不行,都不知道怎么弄了

啊哒梨

$_SESSION是不通用的
应该先使用joinGroup加入room

  • 搬砖屌丝 2017-12-29

    能说清楚些吗?先joinGroup在getClientSessionsByGroup也获取不到的。

搬砖屌丝

问题解决了,在MVC框架里设置SESSION应该用Gateway::setSession方法。谢谢大家帮助!!!

  • 暂无评论
lgw_2011

我用tp5,也是Gateway::getClientSessionsByGroup数组也是空的,楼主,请教下怎么解决的

  • lgw_2011 2018-06-28

    楼主其实在上面回答了,之前没注意。 感觉楼主
    确实要用下面的代码,才能获取到数据
    $arr=['group_id'=>$group_id,'client_name'=>$client_name] ;
    Gateway::setSession($client_id, $arr);

hehe

看看这个workerman与thinkphp5的实战教学视频,就都会了。

http://study.163.com/course/introduction/1005015012.htm?share=2&shareId=400000000388007

  • 暂无评论