论文部分内容阅读
随着互联网技术的蓬勃发展,人们对即时通信的要求逐渐增多,使用更加频繁,即时通信软件已经成为人们日常生活及工作的必需品。现行的即时通信软件多为需要安装在设备上的基于C/S构架的独立应用程序,不同客户端的安装升级工作对于用户来讲十分繁琐麻烦,而直接基于Web浏览器的即时通信视频系统大多需要安装插件,不能体现Web应用的优点。为开发一款无插件的Web网页端即时通信视频软件,本文研究了基于WebRTC的即时通信视频系统。通过本系统可以在不安装插件的情况下实现网页端的即时通信和多人视频会议功能,有效减少人们在安装升级软件或插件时花费的精力,其良好的跨平台性以及兼容性也为人们的生活工作交流提供便利。为开发实现健壮的即时通信视频系统,本文涵盖了一个完整的Web项目流程,作者的主要工作包括以下几个方面:(1)通过用例图与组织结构图对系统进行需求分析,划分出清晰的功能模块,进而对系统进行总体设计与数据库设计,明确了系统的网络结构和系统架构,为系统详细实现做准备。(2)采用高度集成于浏览器的WebRTC技术作为Web实时音视频获取及传输技术,实现了论文最重要的视频管理模块;采用Node.js作为开发平台,Express作为开发框架,进行系统前后端设计;在对比多种传输协议后选择作为WebSocket传输协议,实现了即时消息以及音视频的全双工通信;为实现内网客户端与公网的连接,借助穿越技术实现了NAT穿越。通过对用户管理模块、好友管理STUN模块、即时通信管理模块、视频管理模块和文件存储管理模块的设计,最终实现了跨平台、高兼容、低成本的即时通信视频系统。(3)在系统搭建完成后,结合功能性以及非功能性需求,设计测试用例,对系统进行测试,以保证系统运行安全可靠,并在最后对即时通信视频系统进行总结并提出展望。采用基于的即时通信视频系统进行实时交流,不仅能够满足用户的WebRTC基本需求,而且满足系统跨平台、低成本、高兼容的需求,系统对电脑端和移动端都能提供有效稳定的支持,既可用于日常交流场合又可以用来进行工作沟通。