我试图在这个github上使用这个例子https://github.com/feross/simple-peer
var Peer = require('simple-peer')
var p = new Peer({ initiator: location.hash === '#1', trickle: false })
p.on('error', function (err) { console.log('error', err) })
p.on('signal', function (data) {
console.log('SIGNAL', JSON.stringify(data))
document.querySelector('#outgoing').textContent = JSON.stringify(data)
})
document.querySelector('form').addEventListener('submit', function (ev) {
ev.preventDefault()
p.signal(JSON.parse(document.querySelector('#incoming').value))
})
p.on('connect', function () {
console.log('CONNECT')
p.send('whatever' + Math.random())
})
p.on('data', function (data) {
console.log('data: ' + data)
})
但是当我尝试执行此代码时,我有一个错误: ReferenceError:未定义位置:(
当我尝试删除括号中的所有参数时,只是为了测试:
var p = new Peer()
我还有一个错误:
错误:无WebRTC支持:在此环境中指定opts.wrtc
选项
但是......如何修复这些错误才能使其正常工作?
答案 0 :(得分:2)
现在通过在启动连接时指定wrtc: wrtc
来支持它。来源:https://www.npmjs.com/package/simple-peer#in-node
var wrtc = require('wrtc');
var peer = new SimplePeer({ initiator: true, wrtc: wrtc })
答案 1 :(得分:0)
您正在nodejs(服务器上)上启动示例,并且服务器上没有window.location。 您需要从客户端(浏览器)启动此示例。 p2p不需要服务器(仅用于初始连接数据交换)
答案 2 :(得分:0)
运行此 .js 文件后,双方将建立它们之间的连接并可以开始通信,但在服务器上而不是在浏览器中。