我正在尝试使用 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/