请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

赛事直播窗口和聊天窗口内容冲突了

使用live.html发送一条赛事直播内容,结果,在聊天串口显示了定义的content属性,赛制直播窗口没有任何信息出现

https://img1.sycdn.imooc.com//szimg/5b6fb4eb0001078412900641.jpg

https://img1.sycdn.imooc.com//szimg/5b6fb4eb00013bfa12950628.jpg

https://img1.sycdn.imooc.com//szimg/5b6fb4eb0001fc6413560602.jpg

https://img1.sycdn.imooc.com//szimg/5b6fb4ec0001d7d508280483.jpg

https://img1.sycdn.imooc.com//szimg/5b6fb4ec0001411110280459.jpg


正在回答 回答被采纳积分+3

插入代码

3回答

hualaoshuan 2019-09-30 15:26:46

需要改两个地方

1. chart.js 里的push() 方法名改掉 因为和 live.js 里方法名重复了

2.ws.php 里把onOpen()方法判断一下,把直播的fd 放入 redis,其它fd 不放

public function onOpen($ws, $request){

        $info = $ws->connection_info($request->fd);

        if($info['server_port'] == self::PORT){

            // 把 $request->fd 数据 放入集合(sets)

            \app\common\lib\redis\Predis::getInstance()->sAdd(config('redis.live_game_key'), $request->fd);

        }


       echo "open - {$request->fd} \n";


    }


1 回复 有任何疑惑可以回复我~
李墨丶 2018-08-22 11:30:33

你好,你的问题解决了吗?我的现在也是这种情况   还没整好

0 回复 有任何疑惑可以回复我~
singwa 2018-08-13 00:11:14

同学您好。您说的意思是 两个地方的 websocket的显示的内容一样还是说 两者的内容串了?

0 回复 有任何疑惑可以回复我~
  • 提问者 Dire16 #1
    您好老师,我通过live.html发送赛事内容,消息没有推送到赛事直播页,反而出现在了聊天窗口,同时像您所说的,两个地方的websocket的显示内容一样
    回复 有任何疑惑可以回复我~ 2018-08-13 09:25:25
  • 提问者 Dire16 #2
    老师您好,问题应该是找着了,通过live.html发送的内容出现在聊天窗口而没出现在直播窗口,原因是live.js和chart.js中都有push方法,推送的时候live.js中的push被覆盖了;其次,聊天窗口出现了live.js的内容,原因应该是聊天和直播的fd都存在了同一个redis key中,通过foreach遍历推送,以至于直播和聊天的fd都收到了相应的内容,这个原因只是猜测,目前在想办法验证
    回复 有任何疑惑可以回复我~ 2018-08-14 16:47:46
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号