采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
9-5结束的时候,当时我看视频中只测试了聊天功能没问题,但是赛况推送有问题。发布后,内容跑到了聊天室,而没有出现在直播页面,后来发现是live.js和chart.js中的push方法名字相同覆盖了,修改之后,还会出现,赛况推送遍历redis中所有fd就会给聊天室中推送消息。我觉得这一块您应该声明一下,因为9-5后面就没有相关内容了
你好,这个问题老师课程里面说明了,你需要修改端口,
端口修改了啊,我直播和聊天用的端口是两个端口的。
您好。那看看老师说的第二个方案,就是连接数数据保存的redis里面。
这个地方就是由于onOpen事件将连接用户fd都存入了redis中导致推送消息的时候取出来的fd有多余的,就是聊天室那边存进去的fd public function onOpen($ws, $request) { var_dump($request->fd); //用户登录后,我们需要进行记录, 将$fd存储进redis \app\common\lib\redis\Predis::getInstance()->sAdd(config('redis.live_game_key'),$request->fd); } $clients = Predis::getInstance()->sMembers(config("redis.live_game_key")); foreach($clients as $fd) { $serv->push($fd, json_encode($data)); } 可是我现在没想懂怎么分离开或者有其他好点的办法
登录后可查看更多问答,登录/注册
swoole创始人推荐,借助Swoole打造高性能直播平台
1.8k 18
1.2k 13
1.9k 13
1.1k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号