- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是在 NodeJs 和 ReactJs 中创建 peerjs 视频流应用程序
下面的代码工作正常,我能够创建新的对等点并且 open
事件也在工作。
const peer = new Peer(undefined,{
host:"/",
port:"5001"
});
peer.on('open',id=>{
socket.emit('join-room', roomId,id);
})
在服务器端,每当发出 'join-room'
事件时,服务器将发出另一个事件 'user-disconnected'
并传递 userId (peerjs)
给客户端。
// server.js
socket.on('join-room',(roomId,userId)=>{
console.log(`user ${userId} joined ${roomId}`);
socket.join(roomId);
socket.to(roomId).emit('user-connected',userId);
socket.on('disconnect', () => {
socket.to(roomId).emit('user-disconnected', userId)
})
})
每当在客户端触发 'user-connected'
时,我都会调用 connectToNewUser
并且到目前为止工作正常。
socket.on('user-connected',userId=>{
console.log("New user connected...")
connectToNewUser(userId, stream)
});
这是在控制台 console.log('connectToNewUser',1222.....)
上记录的,没有错误。
但是,这个 call.on('stream')
永远不会被调用
connectToNewUser(userId, stream) {
console.log('connectToNewUser',userId)
const call = peer.call(userId, stream);
const video = getVideo();
call.on('stream', userVideoStream => {
// never called
console.log('connectToNewUser','on','stream')
addVideoStream(video, userVideoStream)
});
call.on('close', () => {
video.remove()
})
peers[userId] = call
}
call.on('stream')
从未被调用的原因是 peer.on('call')
从未被调用。
peer.on('call', call => {
// never called
console.log('This peer is being called...');
call.answer(stream)
const video = getVideo();
call.on('stream', userVideoStream => {
console.log('This peer is being called...on-stream...');
addVideoStream(video, userVideoStream)
})
});
最佳答案
我也遇到了同样的问题,在 StackOverflow 上浏览了 10 多个解决方案之后,这是我的建议。
connectToNewUser() 在用户完成导航器 promise 之前被触发。
尝试修改成这样:
socket.on('user-connected',userId=>{
console.log("New user connected...")
//connectToNewUser(userId, stream)
setTimeout(connectToNewUser,1000,userId,stream)
});
它对我有用。
关于node.js - peer.on ('calll' ) 永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66937384/
Peer js 不工作 我只是在 NodeJs 和 ReactJs 中创建 peerjs 视频流应用程序 下面的代码工作正常,我能够创建新的对等点并且 open 事件也在工作。 const peer
我有一个要修补的设备驱动程序。 此设备驱动程序调用 IOLog,我想摆脱日志记录。 如果我用设备驱动程序 (kext) 中的(相应数量的)NOP 替换 CALLL 到 IOLog,内核会崩溃,看起来像
我是一名优秀的程序员,十分优秀!