javascript - 如何使用 peerjs 连接到主机?

标签 javascript webrtc p2p peerjs peer

我正在尝试使用 peerjs将主机与客户端连接。我有两个文件(一个用于主机,一个用于客户端)。主机将生成一个 peerId,客户端用来连接到他。基本上是来自 here 的教程.
host.html

const peer = new Peer()

peer.on('open', () => {
  console.log('ID: ' + peer.id)
})

peer.on('connection', (conn) => {
  conn.on('data', (data) => {
    // Will print 'hi!'
    console.log(data)
  })
  conn.on('open', () => {
    conn.send('hello!')
  })
})
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>

客户端.html

const peer = new Peer()

const conn = peer.connect('1781a113-d095-4be5-9969-b80d9c364f6b')
conn.on('open', () => {
  conn.send('hi!')
})
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>

客户端没有连接也没有发送消息。我尝试使用他们的示例连接到我的主机,这很有效。我能够向主机发送消息。我的客户有什么问题?

最佳答案

文档中有点模糊,but if you don't wait on the open event, messages to the server will be queued .我不确定是否需要额外的配置来启用排队,但只需等待打开事件就可以在您的情况下工作

const peer = new Peer()

peer.on('open', () => {
    const conn = peer.connect('1781a113-d095-4be5-9969-b80d9c364f6b')
    conn.on('open', () => {
        conn.send('hi!')
    })
})
请记住,每次刷新浏览器时,在您的“主机”中生成的对等 id 都会更改,因此您可能希望选择自己的 id 而不是随机获取

关于javascript - 如何使用 peerjs 连接到主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67764153/

相关文章:

java - JAIN-SIP WebRTC 信令

iphone - GKSession - 如果我关闭蓝牙和 Wi-Fi 怎么办?

android - 打开 p2p 并从操作栏执行发现

javascript - 如何检测我的网站/PWA 是否已加载到前台?

javascript - 如何在 react native - flatList 中创建两列之间有空格

javascript - jquery 在选择器中查找逻辑运算符

javascript - 提交时的简单功能?

javascript - 从 MediaStream 对象获取媒体详细信息(分辨率和帧速率)

Node.js Easyrtc 在 Heroku 上部署失败

javascript - actionscript p2p - 聊天如何创建多个连接并向所有/任何连接发送消息