为什么在 simple-peer 中没有触发连接状态?

问题描述

我在 simple-peer 库的帮助下编写了一小段代码

function App() {
  const [receivingCall,setReceivingCall] = useState()
  const [selfSingal,setSelfSingal] = useState()

  function callIt(){
    const peer = new Peer({
      initiator: true,trickle: false,})
    peer.on('signal',(data) => {
      setSelfSingal(JSON.stringify(data))
    })
    peer.on('connect',() => {
      console.log('I am connected Now')
    })
  }

  function answerIt(){
    const peer = new Peer({
      initiator: false,(data) => {
      setSelfSingal(JSON.stringify(data))
    })
    peer.signal(receivingCall)
    peer.on('data',data => {
      // got a data channel message
      console.log('got a message from peer1: ' + data)
    })
    peer.on('error',(err) => {
      console.log('err',err)
    })
    peer.on('connect',() => {
      console.log('connected!')
      peer.send('hey peer2,how is it going?')
    })
  }

  return (
    <div className="App">
      <div className="video">
        <p><textarea name="1" id="1" cols="30" rows="10" onChange={(x)=> setSelfSingal(x.currentTarget.value)} value={selfSingal} /></p>
        <button onClick={callIt}>connect 1</button>
        <p><textarea name="2" onChange={(x)=> setReceivingCall(x.currentTarget.value)} id="2" cols="30" rows="10" value={receivingCall} /></p>
        <button onClick={answerIt}>connect 2</button>
      </div>

点击 connect 1 按钮后,我会收到一个 object,我可以将其粘贴到第二个 textarea 中。通过这样做,我得到 "type":"answer" 作为回报,根据文档,这意味着我已连接。但是 peer.on('connect' 没有被触发,我不知道如何将任何数据发送到另一个对等方。

如果 peer.on('connect' 未触发,我如何确保我已连接到另一个对等方并发送数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)