63 lines
1.6 KiB
JavaScript
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');
|
|
}); |