采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
使用live.html发送一条赛事直播内容,结果,在聊天串口显示了定义的content属性,赛制直播窗口没有任何信息出现
需要改两个地方
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";
强!!!
32赞
你好,你的问题解决了吗?我的现在也是这种情况 还没整好
同学您好。您说的意思是 两个地方的 websocket的显示的内容一样还是说 两者的内容串了?
您好老师,我通过live.html发送赛事内容,消息没有推送到赛事直播页,反而出现在了聊天窗口,同时像您所说的,两个地方的websocket的显示内容一样
老师您好,问题应该是找着了,通过live.html发送的内容出现在聊天窗口而没出现在直播窗口,原因是live.js和chart.js中都有push方法,推送的时候live.js中的push被覆盖了;其次,聊天窗口出现了live.js的内容,原因应该是聊天和直播的fd都存在了同一个redis key中,通过foreach遍历推送,以至于直播和聊天的fd都收到了相应的内容,这个原因只是猜测,目前在想办法验证
登录后可查看更多问答,登录/注册
swoole创始人推荐,借助Swoole打造高性能直播平台
1.8k 18
1.2k 13
1.9k 13
1.1k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号