问题描述
我在 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 (将#修改为@)