Node.js peerjs事件';呼叫';有些时候,你不会发火

Node.js peerjs事件';呼叫';有些时候,你不会发火,node.js,socket.io,webrtc,peerjs,Node.js,Socket.io,Webrtc,Peerjs,我安装了本地服务器 const fs = require('fs'); const {PeerServer} = require('peer'); const peerServer = PeerServer({ port: 3001, debug: false, secure: true, path: '/', ssl: { key: fs.readFileSync('./key.pem'), cert: fs.readF

我安装了本地服务器

const fs = require('fs');
const {PeerServer} = require('peer');

const peerServer = PeerServer({
    port: 3001,
    debug: false,
    secure: true,
    path: '/',
    ssl: {
        key: fs.readFileSync('./key.pem'),
        cert: fs.readFileSync('./cert.pem')
    }
});

peerServer.on('connection', (_client) => {
    console.log('Client connects');
});
peerServer.on('disconnect', (_client) => {
    console.log('Client disconnects');
});
我还使用本地express服务器

const fs = require('fs');
const key = fs.readFileSync('./key.pem');
const cert = fs.readFileSync('./cert.pem');
const express = require('express');
const app = express();
const server = require('https').createServer({key: key, cert: cert },app);
const io = require('socket.io')(server);
const {v4: uuid} = require('uuid');



require('./room')(io)

server.listen(3000,'192.168.1.30');


app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.static('public'));

app.get('/', ((req, res) => {
    res.redirect(`${uuid()}`)
}))

app.get('/:room', ((req, res) => {
    res.render('room', {roomId: req.params.room})
}))

function socketInit(io) {
    io.on('connection', socket => {
        socket.on('join-room', (roomId, userId) => {
            socket.join(roomId)
            socket.to(roomId).broadcast.emit('user-connected', userId)

            socket.on('user_disable_camera', (userId) => {
                socket.to(roomId).broadcast.emit('user_disable_camera', userId)
            });

            socket.on('user_enable_camera', (userId) => {
                socket.to(roomId).broadcast.emit('user_enable_camera', userId)
            })
            // socket.on('screen_share_start', (userId) => {
            //     socket.to(roomId).broadcast.emit('user-disconnected', userId)
            // });

            socket.on('screen_share_stop', (userId) => {
                socket.to(roomId).broadcast.emit('screen_share_stop', userId)
            });
            socket.on('disconnect', () => {
                socket.to(roomId).broadcast.emit('user-disconnected', userId)
            })
        })
    });
}


module.exports = socketInit
在我的html文件中

const myPeer = new Peer(undefined, {
    host: '/',
    path: '/',
    secure: true,
    port: '3001'
});
myPeer.on('error', e => {
    console.log('my peer error', e);
    myPeer.reconnect();
})

...grab media stream...
    addVideo(document.getElementById('me'), myVideo, stream);

    myPeer.on('call', call => {
        call.answer(stream);
        peers[call.peer] = call;
        console.log('call', call);
        const video = document.createElement('video');
        video.id = call.peer;
        call.on('stream', userVideoStream => {
            addVideo(videoList, video, userVideoStream)
        });
    })
    socket.on('user-connected', userId => {
        console.log('user conected', userId);
        connectToNewUser(userId, stream);
    })
function connectToNewUser(userId, stream) {
    try {
        const call = myPeer.call(userId, stream);
        peers[userId] = call
        console.log('connectToNewUser', stream, userId, peers, call);
        const video = document.createElement('video');
        video.id = userId;
        call.on('stream', videoStream => {
            addVideo(videoList, video, videoStream)
        });
        call.on('close', () => {
            video.remove();
        });
    } catch (e) {
        console.log('errrrrrrrrr', e);
    }
}
有时,当我将我的计算机和其他计算机连接到同一网络时,https显示在myPeer上。on('call')…未启动(2个用户)。当我打开具有相同房间Id的新选项卡(必须至少有3个用户)时,它有时被调用,然后视频正确显示。是否有人能指出我的错误方向