Files
ClassContent/历届学生/18课程/class18_2/项目/上课项目/聊天室/backend/index.js
2024-09-27 02:06:13 +08:00

63 lines
1.6 KiB
JavaScript

const { log } = require('console');
var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
app.get('/', (req, res) => {
res.send('<h1>Hello world</h1>');
});
var onlineUserList = []
//如果有客户端连接了 connection
io.on('connection', (socket) => {
socket.on("login", function(res) {
if (onlineUserList.length == 0) {
onlineUserList.push(res);
socket.emit("LoginSuccess", res);
} else {
var u = onlineUserList.filter(v => {
if (v.name == res.name) {
return v
}
});
if (u.length != 0) {
socket.emit("userNameExists");
} else {
onlineUserList.push(res);
socket.emit("LoginSuccess", res);
}
}
});
socket.on("JoinRoom",function(res) {
socket.join(res.roomid);
var Online = onlineUserList.filter(v=> {
if (v.roomid == res.roomid) {
return v
}
});
io.in(res.roomid).emit("OnLineUserList", Online);
io.in(res.roomid).emit("WelcomeUser", `欢迎用户${res.name}加入群聊`);
});
socket.on("shake",function(res) {
console.log("shake1: ",res);
socket.to(res.roomid).emit("addShake", "");
})
socket.on("sendMessage",function(res) {
console.log("用户的聊天内容:", res);
socket.to(res.roomid).emit('SetMessage', res);
})
});
http.listen(1314, () => {
console.log('listening on *:1314');
});