这是我参与「第五届青训营」伴学笔记创作活动的第 7 天
之前写了两篇关于WebRTC的,但是它确实很底层(多少有点难),那我们来看看对WebRTC进行封装的PeerJs吧!(可以理解为:ThreeJs和WebGL的关系)
PeerJs的准备
先看介绍:
PeerJS 实现了真正的浏览器上的点对点数据通讯。PeerJS 将 WebRTC 作为 API 抽象、连接代理和二进制序列化。
它有这些主要的常用的方法:
- peer.connect 创建点对点的连接
- peer.call 向另1个peer端发起音视频实时通信
- peer.on 对各种事件的监控回调
- peer.disconnect 断开连接
- peer.reconnect 重新连接
- peer.destroy 销毁对象
PeerJs需要使用HTTPS,在我们写它之前,我们需要在电脑上安装OPENSSL
Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)
然后在下面的表格中选取版本:
安装后,把安装目录下bin目录加入到环境变量里,这就不说啦
加入之后,我们在需要创建SSL证书的文件夹打开cmd,执行:
生成私钥文件
openssl genrsa -des3 -out localhost.key 2048
去除口令,否则启动nginx时需要密码
openssl rsa -in localhost.key -out localhost.key
创建请求证书
openssl req -new -key localhost.key -out localhost.csr
在这一步里,需要你填写一些信息:
分别是:国家(简写),地区,城市,组织,组织单位名,公开名(填域名),邮箱
eg:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Henan
Locality Name (eg, city) []:Luoyang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HAUST
Organizational Unit Name (eg, section) []:HAUST
Common Name (e.g. server FQDN or YOUR name) []:127.0.0.1
Email Address []:test@test.com
生成证书
openssl x509 -req -days 36500 -in localhost.csr -signkey localhost.key -out localhost.crt
证书生成之后,应该是这样子的:
准备工作就完成啦,我们新建一个index.js,写入:
const { PeerServer } = require('peer');
const peerServer = PeerServer({
port: 9000,
path: '/test',
proxied: true
});
打开浏览器进入9000后,如果出现了PeerJs的示例返回的json,就说明运行已经成功啦