一、把玩方法准备局域网内两台设备(Peer A、Peer B)用最新版本浏览器(demo未适配低版本)分别打开demo页面(也可以是同一浏览器打开两个标签)
勾选页面中的H5版语音通话聊天,在Peer A中点击新建连接
把Peer A的本机信手动复制传输给Peer B,粘贴到远程信息中,并点击确定连接
把Peer B自动生成的本机信息手动复制传输给Peer A,粘贴到远程信息中,并点击确定连接
双方P2P连接已建立,使用页面上方的录音功能,随时开启录音,音频数据会实时发送给对方
二、技术特性
(1)数据传输
github demo中考虑到减少对服务器的依赖,因此采用了WebRTC P2P传输功能,无需任何服务器支持即可实现局域网内的两个设备之间互相连接,连接代码也算简单。有服务器支持可能就要逆天了,不过代码也会更复杂。
如果正式使用,可能不太会考虑使用WebRTC,用WebSocket通过服务器进行转发可能是最佳的选择。
WebRTC局域网P2P连接要点(实际代码其实差不多,只不过多做了点兼容):/******Peer A(本机)******/
var peerA=new RTCPeerConnection(null,null)
//开启会话,等待远程连接
peerA.createOffer().then(function(offer){
peerA.setLo