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);