44 lines
981 B
JavaScript
44 lines
981 B
JavaScript
const app = require("express")();
|
||
const httpServer = require("http").createServer(app);
|
||
const io = require("socket.io")(httpServer, {});
|
||
|
||
// 保存在线用户数据
|
||
var userOnline = []
|
||
|
||
io.on("connection", socket => {
|
||
console.log("有一个客户端建立了链接");
|
||
|
||
|
||
socket.on("login", (res) => {
|
||
console.log(res);
|
||
var isHave = userOnline.filter((val,index) => {
|
||
return val.username == res.username
|
||
});
|
||
if (isHave.length > 0) {
|
||
socket.emit("UserNameExist");
|
||
} else {
|
||
userOnline.push(res);
|
||
socket.join(res.roomid);
|
||
socket.emit("LoginSuccess");
|
||
}
|
||
});
|
||
|
||
socket.on("getUserOnline", (id) => {
|
||
console.log("房间号:",id)
|
||
console.log("UserOnline:",userOnline)
|
||
socket.join(id);
|
||
// socket.emit("UserOnline", userOnline);
|
||
io.in(id).emit("UserOnline", userOnline);
|
||
});
|
||
|
||
socket.on("getMessage", (res) => {
|
||
socket.to(res.roomid).emit("sedMessage", res);
|
||
});
|
||
|
||
|
||
|
||
});
|
||
|
||
|
||
|
||
httpServer.listen(3000); |