加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
追风少年 提交于 2022-10-10 16:35 . 匿名聊天室
const express = require("express");
const app = express();
const server = require("http").createServer(app)
const io = require("socket.io")(server)
// 托管静态资源
app.use(express.static("public"));
let count = 0;
io.on("connection", (socket) => {
count++;
io.emit("count", count); // 当前人数
// 用户进入房间
socket.on("username", (data) => {
socket.username = data;
io.emit("enterRoom", {
username: socket.username,
state: 1 // 自定义状态
});
});
// 用户头像
socket.on("userAvatar", (data) => {
socket.avatar = data;
})
// 监听用户发言
socket.on("speak", (data) => {
io.emit("userSpeak", {
username: socket.username,
speak: data,
avatar: socket.avatar,
state: 2,
});
});
// 断开连接/离开房间
socket.on('disconnect', function () {
io.emit("leaveRoom", {
username: socket.username,
state: 0
});
count--;
io.emit("count", count);
});
});
// 启动服务,端口号默认 80
server.listen(80, () => {
console.log("server running at http://localhost");
})
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化