javascript - peer-peer 没有在所有浏览器中使用 peerJS 连接
问题描述
我正在尝试制作一个简单的点对点视频聊天。起初我尝试使用 webkit,连接已建立,但无法使 webkit 跨浏览器工作。
然后我开始使用 peer js。我正在关注 github 中的 feross/simple-peer 包。起初我试图建立一个数据连接。然后我会尝试发送流。现在数据连接建立在跨浏览器中工作正常。但突然它停止在 Mozilla 中工作。显示有关“TURN 服务器”的错误。但就在几天前,同样的代码还在跨浏览器运行。这是代码:
<html>
<body>
<style>
#outgoing {
width: 600px;
word-wrap: break-word;
white-space: normal;
}
</style>
<form>
<textarea id="incoming"></textarea>
<button type="submit">submit</button>
</form>
<pre id="outgoing"></pre>
<script src="simplepeer.min.js"></script>
<script>
const p = new SimplePeer({
initiator: location.hash === '#1',
trickle: false
})
p.on('error', err => console.log('error', err))
p.on('signal', data => {
console.log('SIGNAL', JSON.stringify(data))
document.querySelector('#outgoing').textContent = JSON.stringify(data)
})
document.querySelector('form').addEventListener('submit', ev => {
ev.preventDefault()
p.signal(JSON.parse(document.querySelector('#incoming').value))
})
p.on('connect', () => {
console.log('CONNECT')
p.send('whatever' + Math.random())
})
p.on('data', data => {
console.log('data: ' + data)
})
</script>
</body>
</html>
解决方案
推荐阅读
- angular - 加载 ngFor 后的 Angular onLoad 事件
- gradle - gradle中的命名结构是什么?
- perl - 数组推送和引用
- bash - Eclipse `Bash Editor` 插件设置以在 MacO 上启动调试
- python - ValueError:无法将大小为 261715968 的数组重塑为形状 (9466,9216)
- hash - 块哈希生成的动态和添加到比特币交易中使用的块链
- django - / 'dict' 对象的 AttributeError 没有属性 '_mptt_meta'
- entity-framework-core - 多对多索引创建约定
- allennlp - 您可以编写自己的自定义 allennlp 命令吗?
- react-native - 如何在 Reanimated V2 中访问手势状态 UNDETERMINED?