Socket.io 发射未定义

Socket.io emit is undefined

**我正在按照 YouTube 上的教程创建缩放克隆。在我们使用的项目中 socket.io 而我对 socket.io 完全陌生,只是在做项目时才知道这一点。因此,当我启动该程序时,它会抛出类型错误 socket.to(roomid).broadcast.emit('user-connected'); TypeError: Cannot read property 'emit' of undefined 并且我无法解决任何人都可以帮助我的问题。 **

Server/app.js

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

客户端JavaScript (script.js)

const socket = io("/");

const myVideo = document.createElement('video');
const videoGrid = document.getElementById("video-grid");
console.log(videoGrid);
let myVideoStream

navigator.mediaDevices.getUserMedia({
    video: true,
    audio: true
}).then(stram => {
    myVideoStream = stram;
    addVideoStream(myVideo, myVideoStream);
});
socket.emit("join-room", ROOM_id);
socket.on("user-connected", () => {
    connectToNewUser();
});

const connectToNewUser = () => {
    console.log("new user");
}
const addVideoStream = (video, stream) => {
    video.srcObject = stream;
    video.addEventListener('loadedmetadata', () => {
        video.play();
    });
    videoGrid.append(video);
}
我在 room.ejs 中需要 socket.io 脚本。当我 运行 程序出现以下错误。

app.js 中的语法:

socket.to(roomid).broadcast.emit('user-connected');

应该是:

socket.broadcast.to(roomid).emit('user-connected');