这段时间开发了一套基于yii2框架的电商直播系统。写下博客,也好让大家能了解下电商直播的流程。

电商系统是基于ecshop框架而来,用yii2框架重写,无pc端页面,所有yii2框架都是用来写app的接口。好了,废话少说,开始开发直播系统:

直播的核心技术简单的说就是 :
推流(app端录制视频并上传),
拉流(app端请求资源观看)。
后端核心的技术就是如果保存,如何提供资源地址。
鉴于目前的电商系统规模以及开发时间有限,并且不会用C或者给出超长时间用php实现上面的推流和拉流功能,咱们只能借助第三方的云平台。

通过初步调研,用了七牛云的直播云服务(说实话,直播保存啥的可能流量便宜,但是如果你要鉴黄服务可就相对贵了。毕竟,不得不用,X奇艺不就是给禁了)。

没错,要选俩
1. 对象存储(直播后保存录播)。
2.直播云服务,提供直播流(推流、拉流、禁播流)。流名,我直接使用的主播房间号。
其中直播云服务所需要的配置有很多,什么域名啊,备案啊,公安备案啊,这些咱就不管了。大家可以参考其他人写的。主要是有个关键设置:

RTMP推流管理

APP那边推流是不会通知后端的,即使通知了也没用,你不知道它手机端啥时候异常断流(网络中断,直接APP退出)。
七牛提供回调,如果推流中,端中断了多少秒后,可以给你回调,这样就避免异常中断特别久,直播间无法正常关闭。
当然,你也可以写个脚本,定时查直播状态,但是这样的逻辑以及你要采样的时间啥的,就比较复杂了,暂且不提。
剩下的就交给七牛给的sdk,自己写接口逻辑了。如果大家谁还有疑问,可以私聊我啊。
另外,吐槽下。七牛sdk没有提供直播聊天的功能。咱只能扩展咱的技术栈。用个socket框架解决下(swoole,workerman),经过仔细对比,发现workerman非常好用,当然swoole也行(毕竟字母少,高大上。咳咳,c写的不会改,当然后来发现想多了)。
使用workerman的gatewayWorker 搭建聊天、商品推送、送礼啥的。看图:

其实原理非常简单,gatewayWorker就是独立的服务(甚至是服务器),yii2框架和其通讯,直接调用人家给的接口即可。我大概非常简化的描述下过程:
首先,app端要和gateway服务器建立socket连接,大概长这样:

端和服务器建立好连接后,
进入聊天室 调用 yii2接口
聊天 调用 yii2接口
推送商品 调用 yii2接口
……
总之,与gateway无关了,它就是一个服务器,上面跑着N多聊天室。
好了,就说这么多。具体业务欢迎私信交流哈!~

yii2框架 电商系统在线直播开发相关推荐

  1. php开源商城 yii,Yii2开源电商系统 fecshop

    Fecshop 全称为 Fancy ECommerce Shop,是基于一款优秀的开源电商系统,遵循 OSL 3.0 协议, 系统是基于PHP的Yii2框架进行的开发,目的是为了方便 Yii2 开发者 ...

  2. 开发电商系统用什么开发语言呢

    当前,市场上商城系统开发的主流语言是java.php..net开发语言.按照流行趋势,当前java语言是行业中使用最广泛的. 但是最后选择还是推荐企业将技术人员熟悉的语言作为考虑重点. 一.Java开 ...

  3. java微服务电商系统,JavaEE 电商系统微服务开发骨架(Spring Cloud版)

    Spring Boot - Spring Cloud 一个基于Spring Boot.Spring Cloud的项目,用来快速搭建电商项目微服务骨架. 说明:所有的功能都没有做参数强校验,也不考虑各种 ...

  4. python写电商网站框架,python-django框架-电商项目-商品模块开发_20191124

    使用C#模拟Outlook发送邮件,代码编译报错 添加OutLook API using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 publ ...

  5. 【转】Yii2开源电商系统 fecshop

    还没有看,不知道怎么样了 https://www.oschina.net/p/fecshop

  6. 电商系统前后端开发(Vue+Springboot)(26) - GoEasy 异步支付结果

    1 GoEasy https://www.goeasy.io/ <dependency><groupId>io.goeasy</groupId><artifa ...

  7. 直播电商系统|传统电商对比直播电商,谁更胜一筹?

    最近几年,直播电商越来越火,直播电商系统需求也越来越大,因而,青火互联在第一时间开发了直播电商平台,并且不断更新升级功能,目前已经有完善的直播系统,当然,今天,青火互联小编也与您来对比一下,看看传统电 ...

  8. S2B2C社交电商系统怎么开发?

    去年年底,由阿里推出的淘小铺正式上线,属于社交型购物平台,以S2B2C模式为主要运营模式,招收分销商,代理商等到平台开设自己的店铺,货品由平台统一提供,就此阿里也开始正式进军社交电商市场.随着互联网市 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式...

    目录: 一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务 ...

最新文章

  1. Kotlin返回值Unit、Nothing与Any
  2. consul 日志配置_微服务:服务注册发现+ API 网关+配置中心+服务跟踪+服务熔断...
  3. GOF23种设计模式(Design Pattern)总结
  4. 第一篇博客文章,hello world及编码
  5. 使用yum更新时不升级Linux内核的方法
  6. python在电脑上的图标_在python scrip中嵌入图标
  7. 学习笔记(09):Python网络编程并发编程-模拟ssh远程执行命令-代码实现
  8. VUE - get 、post 请求后端接口:get 、post 写法 (Axios 中文说明文档地址)
  9. crowd counting_[crowd_counting]-SFCN-CVPR2019amp;amp;GCC dataset
  10. python3 robotframework+pycharm框架搭建
  11. UVa12034 Race
  12. 基于JAVA+Swing的仓库管理系统
  13. bugkuCTF解题记录——5、web基础$_POST
  14. mysql 查询结果插入另一张表_详解Mysql的锁机制
  15. 【无标题】手机扩容或更换字库后的指纹. 基带. 账号 .解锁等故障分析
  16. 某程序员哀叹:做码农真的很悲哀,有的35岁就没人要了
  17. [换根] Accumulation Degree
  18. 果快服务器维护中 稍后再试,维护中什么意思?服务维护中是什么意思
  19. 一份网络专业毕业设计
  20. java生成pdf分页_java itext导出PDF 分页 github

热门文章

  1. 01-JAN-20转化为日期格式
  2. C#中Trim的功能介绍
  3. Rational Rose 2007简单介绍及详细安装步骤
  4. 微信APP支付的踩坑记录(一):prepay_id 与 prepayid
  5. Elasticsearch7.6.2 rpm集群部署及异常处理
  6. string数据库使用和实践第三部分数据处理 流程-参数--后续分析
  7. android初学者_初学者:如何在Android设备上的打开的应用程序之间切换
  8. 复杂命令行参数gcc的-Wl的含义,注意是字母l不是数字1
  9. 斐讯空气检测仪M1使用Easylink配置WIFI的图文教程
  10. 机器学习学习笔记 --- 标称型数据和数值型数据