2.3 Node.js
Node.js是目前为止极为出色的一款软件开发与运行的环境,是一套用来编写高性能网络服务器的JavaScript工具包,是一个可以快速构建网络服务及应用的平台。Node.js的主要特点如下所示:
(1)封装V8引擎。
V8引擎是Google用于其Chrome浏览器的底层JavaScript引擎。JavaScript引擎负责解释并执行代码。Node.js对Google的V8引擎进行了封装,对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
(2)支持系统操作。
Node.js为文件系统、数据库之类的资源提供了接口,可以实现使用JavaScript来读取CPU信息、操作硬盘文件和管理网络通信等。
(3)采用事件循环架构。
JavaScript是基于事件模型驱动的脚本语言。Node.js采用了事件循环架构,使得编写可扩展性高的服务器变得既容易又安全。
(4)采用非阻塞库。
Node.js采用了一系列非阻塞库来支持事件循环的方式。该模型以可扩展的方式简化了对较慢资源的访问,直观易懂。
2.4 WebRTC
WebRTC是一项支持网络浏览器进行实时语音对话或视频对话的技术。WebRTC提供了语音、视频通信的核心技术,包括语音、视频的采集、编解码和网络传输等功能,并且支持跨平台。WebRTC的主要特点如下所示:文献综述
(1)免费开源。
WebRTC是一个允许开发者利用JavaScript API和HTML 5开发实时通信应用的开源项目。WebRTC采用BSD许可证,开发者可以自由使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
(2)行业标准。
在Google、Mozilla和Opera的支持下,WebRTC已经被包括进万维网联盟的W3C推荐标准。WebRTC可以内建于浏览器或者设备里面,应用开发人员能够通过HTML标签和JavaScript API就实现Web语音、视频通信功能。
(3)技术领先。
WebRTC使用GIPS引擎,支持RTP/SRTP传输,同时使用Google的VP8视频编解码器,支持G.722、PCM、iLBC和iSAC等编码,可以实现基于网页的视频会议。
(4)强大的API。
WebRTC使Web开发者能够基于浏览器快捷地开发出丰富的实时多媒体应用,而无需下载安装任何插件。Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的JavaScript程序即可实现。