APP下载

基于Node的直播平台设计与实现

2020-09-05王涛刘杨僧德文

科学导报·学术 2020年78期
关键词:直播

王涛 刘杨 僧德文

【摘 要】随着时代快速发展,衍生出直播行业,本应用就依托直播的方式,以App的形式呈现,致力于打造分享生活的直播内容。本文首先介绍了基于Node的直播平台研究背景与意义;其次,对系统的总体设计做了具体的描述;再次,概括了项目实施方案及阶段分析。

【关键词】Egg;uni-app;Socket.io;MySQL;直播

1 研究背景及意义

追溯直播的发展历程,可以看出直播平台的依托方式在不断的拓展到移动终端上面,并且直播内容也在慢慢的发展出新的方向,但是到目前为止市场上屹立的产品涵盖内容都非常广泛,并没有出现专注于分享生活和世界的产品出现,因此,致力于打造一个同他人分享生活的产品就呼之欲出。本设计选择Node来进行系统开发,将产品依托于移动智能终端,随时随地可以感受别人分享的生活。

在产品层面,专注于分享生活,利用最直接的形式给他人展示这个世界的容貌以及生活方式,让别人没走出去也能观赏到大自然美丽的风光以及他人的生活方式,仿佛身临其境的感觉。

在技术层面,采用Node作为依托,通过目前已经比较成熟的WebSocket技术实现直播效果,支持多人观看直播和交流。

对于市场而言,可以根据当前市场缺口,去开发符合大众需求的平台,专注于某一板块,这无疑是直播未来的一个发展方向;例如直播带货的模式,这样一个符合大众需求的模式就是未来直播的方向。

2 系统总体设计

基于Node的直播平台设计与实现的总体设计采用B/S和C/S架构的结合,App端使用uni-app框架进行开发,后台管理系统使用Egg框架的服务端渲染进行开发,服务端采用Egg框架配合MySQL进行开发。针对实时通信,采用了Socket.io的WebSocket+长轮询方式。

在整个结构中,分离出App和后台管理系统两个应用:App采用的技术栈属于前后端分离,后台管理系统则使用服务端渲染,前后端不分离,这样的设计有利于项目的快速推进,保证服务端API的统一管控。

3 系统详细设计

(1)登录注册模块

该模块是系统的最基本的也是必备的功能。管理端只设计了登录实现,采用session的架构,在数据库中添加一个超级管理员,通过超级管理员来对整个系统进行操作。页面具体实现采用Flex布局实现自适应布局,Flex在移动端的适配比较好,利用其动态变化的特性来适配不同的机型。

(2)用户模板

该模块主要是提供系统的用户成员管理,系统中的用户分为普通用户和管理员两种身份:普通用户可以进行直播的观看和开启直播,实时刷新直播内容,共享内容等;管理员用户可以进行用户信息的管理以及直播间的信息管理等

(3)直播间模块

该模块时系统最重要的模块,实现用户的观众功能、主播功能。用户作为观众,需要能自主选择直播间,并且能够自主转换,打赏等。用户作为主播,需要能够与观众互动,查看粉丝列表等功能。

(4)实时通信模块

当App激活时,就直接于服务端进行socket连接建立,监听connect(连接)、online(实时在线列表)、commit(实时弹幕)、gift(实时礼物)、disconnect(断开连接)这几个事件;当服务端响应的时候就执行对应的操作实时刷新。

服务端采用egg-socket.io这个插件,在配置中将信息配置完成,启动服务与客户端建立socket连接,当用户执行对应的操作时去响应客户端监听的事件,从而触发刷新。但是在响应之前,都需要对用户身份信息进行验证,只有验证通过的用户才可以接着执行。

4 项目实施方案

基于Node的直播平台设计与实现方案包括以下主要研究和开发内容:对本项目直播平台的整体设想及策划;直播平台的设计与实现的具体实施方法和技术措施;针对本项目的特点和难点分析及解决措施。

(1)项目初级阶段:进行项目相关资料的收集、整理,对项目形成初步全局化概念,开展充分的需求调研,了解目前工作的痛点、亮点以及创新点。

(2)项目设计阶段:对需求调研报告充分分析,确定项目想要到达的预期目标,按要求完成直播平台的总体架构塑造及功能模块的具体方案。

(3)项目开发阶段:对各个模块功能系统化,按照要求完成各功能模块的代码实现,并集成每个分模块实现Node的直播平台设计与实现的整体开发及调试应用。

(4)系統测试阶段:分别对单个分模块及集成系统进行系统测试,生成对应测试用例和测试报告。

(5)系统测试验收阶段:包括验收测试、系统试运行、系统文档验收以及项目验收。验收测试即对系统进行全面的测试,依照双方合同约定的系统环境,以确保系统的功能和技术设计满足建设方的功能需求和非功能需求;系统试运行期间主要包括数据分析、日常维护以及缺陷跟踪和修复等方面的工作;系统经过验收测试后,系统的文档逐步、全面的交给客户;在系统经过试运行以后的约定时间,双方启动项目的最终验收工作。

5 总结

本文结合当前网络直播的发展方向,结合使用网络直播必要相关技术,开发了一款直播系统。为了使系统能够跟上时代发展的步伐,同时也为系统能够满足网络直播的需求,本文针对网络直播的现状进行分析,针对直播中所存在的不足进行设置,从而优化在目前网络直播中存在的不足。在设计部分,为了给用户提供完整的功能应用,本文针对系统各项技术以及各项功能进行了详细的设计,从而能够解决直播中的具体问题。

参考文献:

[1]万里晴,杨浩.探究基于V8引擎的Node.js在各应用领域的发展[J].通讯界,2015(13):97.

[2]黄扬子.基于NodeJS平台搭建REST风格Web服务[J].无线互联科技,2015(16):57-59.

[3]肖在昌,杨文晖,刘兵.基于WebSocket的实时技术[J].电脑与电信,2012(12):40-42.

[4]沈剑翘,陈泽椿.Vue.js在构建系统前端SPA的应用[J].科技创新与应用,2020(03):181-182.

[5]吕英华.渐进式JavaScript框架Vue.js的全家桶应用[J].电子技术与软件工程,2019(22):39-40.

[6]张大卫.我国网络直播行业现状分析[J].电视研究,2017(12):43-45.

猜你喜欢

直播
广播二次传播和可视化路径探析