无法获取/peerjs/peerjs/id

问题描述 投票:0回答:2

在控制台中输出:peerjs.min.js:64 GET http://localhost:3030/peerjs/peerjs/id?ts=16144206488930.6577072628446186 404(未找到)

在网络选项卡中展开错误后,它显示:Cannot GET /peerjs/id

我尝试更改端口号,甚至在某些地方添加引号。我正在尝试制作缩放克隆。我确信这是一个引起如此头痛的小错误。因此,我们将不胜感激。

客户端

    const socket = io('/');
    
    const videoGrid = document.getElementById('video-grid');
    
    const myVideo = document.createElement('video');
    myVideo.muted = true;
    
    var peer = new Peer(undefined, {
        path: '/peerjs',
        host: '/',
        port: '3030'
    });
    
    let myVideoStream
    navigator.mediaDevices.getUserMedia({
        video: true,
        audio: true
    }).then(stream => {
        myVideoStream = stream;
        addVideoStream(myVideo, stream);
    })
    
    peer.on('open', id => {
        socket.emit('join-room', ROOM_ID, id);
    })
    
    
    socket.on('user-connected', (userId) => {
        connecToNewUser(userId);
    })
    
    const connecToNewUser = (userId) => {
        console.log(userId);
    }
    
    const addVideoStream = (video, stream) => {
        video.srcObject = stream;
        video.addEventListener('loadedmetadata', () => {
            video.play();
        })
        videoGrid.append(video)
    }

服务器端

const express = require('express')
const app = express();
const server = require('http').Server(app);

const io = require('socket.io')(server);

const { v4: uuidv4 } = require('uuid');
const { ExpressPeerServer } = require('peer');
const peerServer = ExpressPeerServer(server, {
    debug: true
});

app.set('view engine', 'ejs');

app.use(express.static('public'));


app.get('/', (req, res) => {
    // res.status(200).send("Hello World")
    res.redirect(`/${uuidv4()}`);
    // res.send(`/${uuidv4()}`);
})

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

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


server.listen(3030);
javascript node.js webrtc peerjs
2个回答
0
投票

只需在服务器端添加

app.use('/peerjs', peerServer)
就可以了。


0
投票

有同样的问题通过添加找到解决方案

const peerServer = ExpressPeerServer(server, {
   debug: true,
   key:"add-some-key"      <--- this fixed it add some key
});

app.use('/peerjs', peerServer)

然后通过

访问
http://localhost:9000/peerjs/add-some-key/id

应该给钥匙

© www.soinside.com 2019 - 2024. All rights reserved.