首页 > 解决方案 > 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>

标签: javascriptvideo-streamingpeerjssimple-peer

解决方案


推荐阅读