这是一个基于 WebSocket 的即时聊天应用,支持局域网和互联网访问,支持多用户实时聊天和用户名设置。
- 实时消息传输
- 多用户支持
- 自定义用户名
- 简洁的用户界面
- 自动消息滚动
- 支持本地、内网穿透和云端部署
- Node.js (Express + WebSocket)
- MongoDB (消息存储)
- HTML5 + CSS3
- JavaScript (ES6)
- Node.js v18+
- MongoDB v6+
# 克隆仓库
git clone https://github.com/Ganzhe2028/LAN-ChatRoom.git
cd LAN-ChatRoom
# 安装依赖
npm install
# 启动服务器
npm start
访问应用:
http://localhost:8080
- ngrok(免费版)
- frp(开源)
- localtunnel(免费)
- 注册并安装 ngrok
- 获取 authtoken
- 启动应用
npm start
- 检查服务器状态
curl http://localhost:8080
- 启动 ngrok
ngrok http 8080
- 使用 ngrok 提供的公网 URL 访问
- ERR_NGROK_8012 错误:
- 确保服务器正在运行
- 检查端口是否正确
- 尝试重启服务器
- 检查防火墙设置
- 确保没有其他程序占用 8080 端口
- 注册 Render 账号:https://render.com
- 创建 MongoDB Atlas 免费集群:https://www.mongodb.com/cloud/atlas
- Fork 本项目到你的 GitHub 账号
- 登录 Render 控制台
- 创建新的 Web Service
- 连接 GitHub 仓库
- 配置环境变量:
- MONGODB_URI: MongoDB Atlas 连接字符串
- PORT: 8080
- 选择免费计划
- 点击部署
- 本地:mongodb://localhost:27017
- 云端:MongoDB Atlas 连接字符串
- 数据库名称:chatApp
- 集合名称:messages
- 打开应用后,输入用户名并点击"加入聊天室"
- 在消息输入框中输入内容,按回车发送
- 所有在线用户将实时收到消息
- 用户加入或离开时会有系统通知
- 确保 MongoDB 服务已启动
- 默认端口为 8080,可在 server.js 中修改
- 建议使用现代浏览器以获得最佳体验
- 云端部署时请妥善保管数据库凭证
LAN-ChatRoom/
├── index.html # 前端页面
├── style.css # 样式表
├── script.js # 前端逻辑
├── server.js # 后端服务器
├── package.json # 项目配置
└── README.md # 项目文档
欢迎提交 Pull Request 或 Issue