信令,指为使通信网中各种设备协调运作,在设备之间传递的有关控制信息。用来说明各自的运行情况,提出相关设备的接续要求。
通过NodeJs 搭建服务
Node 基于V8引擎,是一个 JavaScript 运行环境,可以让JavaScript开发后端程序,打破了JavaScript 只能在浏览器中运行的居局面,同时开发周期短、开发成本低、学习成本低。
V8 JavaScript引擎是由Google公司使用C++语言开发的一种高性能JavaScript引擎
Node 具有超高并发能力
在Java、PHP或者.NET等服务器语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。NodeJs仅使用一个线程,当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。
Nodejs 的生态链非常的完整,有各种各样的功能库。可以根据自己的需要通过安装工具 NPM 快速安装
使用socket.io 实现信令服务器
环境搭建
官网下载 node (https://nodejs.org/en/)
安装 socket.io1
2npm install socket.io
npm install node-static
socket.io特别适合用来开发WebRTC的信令服务器,通过它来构建信令服务器特别的简单,这主要是因为它内置了房间 的概念。
socket.io 分为服务端和客户端两部分。服务端由 Nodejs加载后侦听某个服务端口,客户端要想与服务端相连,首先要加载 socket.io 的客户端库,然后调用 io.connect();
就与服务端连上了。
socket.io API
1 | //给本次连接发消息 |
客户端 demo
1 |
|
1 | // socketIo.js |
服务端 demo
1 | /* socke.io 信令服务器 |