小程序--搭建匿名聊天室
搭建一个匿名聊天室
之前在鼓捣博客“评论区”的时候,弄过一个小程序,这次分享出来。在本篇文章中将介绍如何使用 Node.js 和Socket.IO 创建一个简单的匿名聊天室。聊天室将为每个用户生成唯一的 ID,并支持多人实时聊天。
技术选型
- Node.js:后端运行时,用于搭建 Web 服务。
- Express:轻量级 Web 框架,用于快速搭建 HTTP 服务。
- Socket.IO:实现实时双向通信。
- UUID:生成唯一用户 ID,确保用户在匿名环境下具有唯一标识
环境准备
- node :v18.13.0
- npm :v8.19.3
module 安装
1 | npm install express socket.io |
代码分析
服务端代码:server.js
1 | const express = require('express'); |
1、静态文件服务:
使用 express.static 提供前端页面文件。将 HTML、CSS 和客户端 JavaScript 文件放置在 /public 目录下即可。
2、生成用户唯一 ID:
使用 uuid 库为每个用户生成一个随机的唯一标识符,通过 socket.userId 保存。
3、、消息广播:
监听 chat message 事件并广播消息,同时附加用户的唯一 ID,以区分发送者。
4、连接与断开事件:
通过 io.on(‘connection’) 监听客户端连接。
通过 socket.on(‘disconnect’) 监听用户断开连接。
如何运行
1、确保已安装 Node.js 和 npm,以及环境依赖
2、在server.js 所处目录中运行
1 | node server.js |
3、打开浏览器,访问以下地址
连接地址:http://localhost:3000
运行效果
终端运行效果,服务端会显示链接成员的uuid
浏览器运行效果,会显示介入后的聊天记录