为课程实验开发的实时聊天应用程序。它允许多个用户使用唯一用户名加入聊天室,并实时交换消息。
课程实验作业
这是一个简单但功能齐全的实时网页聊天应用,用于展示如何使用 WebSocket 实现即时通信。用户可以选择一个用户名并开始与其他连接到服务器的用户聊天。
- 实时消息传递: 使用 Socket.IO 实现消息的即时发送与接收。
- 唯一用户名: 确保聊天室中的每位用户都有独一无二的用户名。
- 用户列表: 显示当前活跃在线的用户列表。
- 系统消息提示: 用户加入或离开时会有系统通知提示。
- 简洁界面: 提供一个简单易用的网页聊天界面。
- 后端: Node.js、Express.js
- 实时通信: Socket.IO
- 前端: HTML、CSS、JavaScript(客户端)
- 包管理器: pnpm
- API 文档: Swagger(访问路径为
/api-docs)
在开始之前,请确保你已安装以下工具:
- 克隆项目仓库(如果尚未克隆):
git clone https://github.com/liangdengwang/online-chat.git
cd online-chat- 使用 pnpm 安装依赖:
pnpm install- 启动服务器:
pnpm start或者:
node server.js- 打开浏览器访问:
http://localhost:3000(或server.js中指定的端口)
Swagger UI 提供了 API 文档页面。服务器运行后可通过以下地址访问: http://localhost:3000/api-docs
-
server.js:后端主服务文件,基于 Express 与 Socket.IO 实现。 -
public/:存放静态前端资源的目录。index.html:聊天界面的主 HTML 文件。client.js:客户端 JavaScript,用于处理 Socket.IO 通信和 DOM 操作。style.css:聊天应用的样式文件。
-
package.json:项目元信息与依赖管理。 -
README.md:当前这个说明文档。