问题描述
我试图使用socket.io一段时间,但是在emit
到客户端的数据中遇到了一些问题
代码运行正常,但是我在not defined
上得到userId
的{{1}}
client side
客户端
server.js
const express = require('express')
const app = express()
const server = require('http').Server(app)
const io = require('socket.io')(server)
const { v4: uuidv4 } = require('uuid');
app.set('view engine','ejs')
app.use(express.static('public'))
app.get('/',(req,res) => {
res.redirect(`/${uuidv4()}`)
})
app.get('/:room',res) => {
res.render('room',{ roomId: req.params.room })
})
io.on('connection',socket => {
socket.on('join-room',(roomId,userId) => {
console.log(roomId,userId)
socket.join(roomId)
socket.to(roomId).broadcast.emit('connect',userId)
console.log(userId)
})
})
server.listen(3000)
这是错误
解决方法
如下所示更新服务器文件
io.on('connection',socket => {
socket.on('join-room',(roomId,userId) => {
console.log(roomId,userId)
socket.join(roomId)
socket.to(roomId).emit('connect',userId)
console.log(userId)
})
})