Lar*_*ger 5 javascript p2p peer webrtc peerjs
我正在尝试使用peerjs将主机与客户端连接。我有两个文件(一个用于主机,一个用于客户端)。主机将生成客户端用于连接到他的 peerId。它基本上是来自here的教程。
主机.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!')
})
})Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>Run Code Online (Sandbox Code Playgroud)
客户端.html
const peer = new Peer()
const conn = peer.connect('1781a113-d095-4be5-9969-b80d9c364f6b')
conn.on('open', () => {
conn.send('hi!')
})Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/peerjs@1.3.1/dist/peerjs.min.js"></script>Run Code Online (Sandbox Code Playgroud)
客户端未连接也未发送消息。我尝试使用他们的示例连接到我的主机,这是有效的。我能够向主机发送消息。我的客户有什么问题?
文档中有点含糊,但如果您不等待打开事件,则发送到服务器的消息将排队。我不确定是否需要额外的配置来启用排队,但只需等待打开事件就可以在您的情况下工作
const peer = new Peer()
peer.on('open', () => {
const conn = peer.connect('1781a113-d095-4be5-9969-b80d9c364f6b')
conn.on('open', () => {
conn.send('hi!')
})
})
Run Code Online (Sandbox Code Playgroud)
请记住,每次刷新浏览器时,“主机”中生成的对等 ID 都会发生变化,因此您可能需要选择自己的 ID,而不是随机获取 ID
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |