【源码+文档】基于 Android 的实时共享白板

三、基础知识

3.1 Android

Android 是一个基于 Linux 的移动平台的操作系统,它是开源的,开发者可以按照一定的规则自由地对其进行定制开发。Google 提供了一套完整的的规范化的开发平台和开发体系,开发者通过 Google 提供的系统 API 和系统机制可以方便地开发出各种各样的应用软件。

3.2 PHP

PHP 是一种通用脚本语言,主要用于生成动态网页内容、操作服务器上的文件和数据库、数据加密、用户授权访问等。PHP 凭借其开源、免费、易学、服务器兼容性好、跨平台等特性,被称为“世界上最好的语言”。PHP 拥有超过 150 个扩展库,可供开发人员调用,很大程度上提高了开发效率和代码的性能,例如 PDO 扩展,它提供了 PDO 类来对数据库进行访问,开发人员使用不同数据库时候调用的函数名是相同的,使得应用层不用去关心具体要连接的数据库服务器的类型,除此之外,相比原生 MySQL,可以有效防御 SQL 注入攻击。

3.3 JavaScript

JavaScript 是一种解释型脚本语言,它是弱类型、函数优先的,一般作为开发网页的脚本语言,在其他环境也有使用。随着当前网站开发前后端更严格的分离,JavaScript 负责越来越多的业务逻辑检查、处理等工作,而不仅仅是单纯的 DOM 操作和实现网站特效。

3.4 React

React 是 Facebook 研发的 JavaScript 库,具有易入门、代码易重构、更好支持响应式网页、高性能等特点。React 的主要原理包括 Virtual DOM、Components、State 和 Render。其中 Virtual DOM 就是在真实 DOM 上面抽象出一个对象,用来表示 DOM 应该怎么呈现,当需要更新页面的时候,不是直接更新真实 DOM,而是更新 Virtual DOM,React 会等到当前事件循环结束,通过 diff 算法计算 Virual DOM 和真实 DOM 的差别,并计算出最小步数来进行更新,从而提高了性能;Virual DOM 的每一个节点就是一个 commponent,它的存在使得 diff 算法更高效;State 包含定义 commponents 所需的数据,当数据改变时,它会调用 Render 进行重新渲染。

3.5 WebSocket

WebSocket 是 HTML5 中的一个新的协议,它和 HTTP 协议基本没关系,HTTP 中每个 response 都对应一个 request,也就是只有客户端主动请求后服务器才会回复,而不能做到服务器主动推送消息给客户端,基于这个原理的 AJAX 轮询和 polling 技术,可以变向实现实时交互,但是性能不佳;而 WebSocket 只需要客户端一次 request,建立持久连接后,服务器便可以主动向该客户端推送任意多次消息,同时较 AJAX 轮询和 polling 技术具有更高的效率和性能。WebSocket.org 对传统的轮询方式和 WebSocket 调用方式做过一个详细的测试和比较,将一个简单的 Web 应用分别用轮询方式和 WebSocket 方式来实现,并把测试结果用柱状图进行表示,如图 2.1。

四、图 2.1轮询和 WebSocket 的性能对比

4.1 GatewayWorker

GatewayWorker 是一个开源的 Socket 服务器框架,用 PHP 编写,该框架采用的是 Gateway 和 Worker 进程模型,它支持分布式部署、支持高并发、支持多种应用层、支持代码热更新、支持 HVVM 协议、提供心跳检测、在 Linux 服务器上可以做到守护进程化。使用该框架,开发者只需要简单配置并通过实现框架内部 Events 类的函数,就可以轻松监听 WebSocket 连接的建立、消息请求、连接断开等事件,并实现消息的单发、群发、广播等功能。

五、需求分析和总体设计

5.1 需求分析

5.1.1 功能性需求

为了方便用户随时随地进行团队沟通,首先需要把用户添加到系统中,因此需要注册、登录功能;

为了映射实际中团队成员之间的关系,需要联系人管理功能,包括联系人的增删查;

为了用户可以有序地加入沟通,并且保证沟通的安全性与私密性,一次团队沟通需要一个授权管理模块,也就是会议管理模块,包括会议的增删改查以及加入会议的密码验证;

为了保证会议内部用户绘画、发言的可控性,需要在会议内部设置一位主持人,并且赋予他管理加会者的权利,因此需要会内权限管理;

为了更加方便邀请别人加入会议,需要多种邀请加会方式;

会议内部主要通过绘画、发言等方式进行信息交互,因此需要共享白板功能和群聊功能。

系统整体的业务流程以用户注册登录为起点。用户进入系统主页面后,可以安排会议,安排好会议可以查看、再次编辑、删除、邀请别人加会、进入会议,以主持人身份进入会议后,可以继续邀请别人加会、锁定会议、共享资源、使用白板、使用群聊、查看参与者列表、控制加会者权限等。以加会者的身份加入会议,可以邀请别人加会、使用白板、使用群聊、查看参与者列表。除此之外,用户还可以添加、删除、查看联系人以及进行一些账户设置操作等。系统业务流程图见图 3.1。

六、图 3.1系统业务流程图

6.1 其他需求

6.1.1 速度

注册验证码必须在 15 秒内发送到用户注册所用邮箱。

登录必须在 5 秒内完成。

所有用户查询必须在 5 秒内完成。

开会、加会必须在 10 秒内完成。

6.1.2 实时性

白板绘画、群聊信息必须在 1.5 秒内同步到会议的其他参与者。

联系人的添加申请、接受申请、拒绝申请、删除、加会邀请通知必须在 2 秒内推送到目标客户端。

6.1.3 安全性

需要保障用户账户安全,防止他人越权访问。

需要保障服务器的数据安全,包括数据库和用户上传文件;

需要保障通信安全,通信数据需要加密,防止传递的信息被他人监听并轻松得到信息的内容。

 

 源码和文档都托管在了【WRITE-BUG数字空间】上面了,有需要的可自取~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《暴走西游H5文档》是一份详细说明暴走西游H5游戏码的文档。它包含了游戏码的结构、功能、使用方法和注意事项等。 首先,该文档会介绍游戏码的整体结构。它会解释游戏的模块划分,如首页、关卡选择、游戏主体等,以及这些模块之间的关系和交互。通过了解游戏码的结构,开发人员可以更好地理解码的各个部分。 接下来,文档将详细介绍游戏码的功能。它会列出游戏所具有的各种功能,如角色控制、跳跃、攻击、技能释放等。对于每个功能,文档会给出实现该功能的具体代码示例,并解释代码的实现原理和逻辑。这些示例可以帮助开发人员快速理解和掌握码。 此外,文档还会介绍游戏码的使用方法。它会详细说明如何下载、安装和配置码的开发环境,以及如何进行调试和部署。对于初学者来说,这些指南可以帮助他们顺利地开始使用游戏码进行开发。 最后,文档会提供一些开发注意事项。它会列出一些常见的问题和解决方案,以及一些开发技巧和建议,帮助开发人员避免一些常见的错误和陷阱。 总的来说,《暴走西游H5文档》是一份全面而详细的文档,可以帮助开发人员了解和使用游戏码。无论是初学者还是有经验的开发人员,都可以从该文档中获取到丰富的知识和指导,加快开发进度,提高开发质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值