发布作者: yi
百度收录: 正在检测是否收录...
作品采用: 《 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 》许可协议授权
作为最简单的网页聊天WEB应用,使用比较方便部署的PHP来实现后端,使用原生javascript实现前端的消息传输,并且采用轮询(polling)机制啦获取最新消息,虽然这样会给服务器带来更多的请求负担,但作为小型自用的聊天室来说不用担心。
用户注册和登录 表情包系统 系统公告 背景图片设置
支持多种消息类型:文本、图片、语音、HTML、阅后即焚消息、视频链接发送(不支持上传本地视频,对服务器压力过大)
实现了消息撤回功能
支持消息回复功能
支持阅后即焚消息
实现了用户头像系统
支持在线用户统计
支持消息已读状态追踪
支持语音通话功能
支持pushplus微信推送通知
使用消息缓存减少文件写入
实现了文件大小管理机制
根据窗口活跃状态动态调整轮询频率
使用头像缓存减少服务器请求
性方面可能不如 WebSocket。不过通过动态调整轮询间隔,在保证基本实时性的同时也考虑到了服务器负载。
├── admin/ # 管理后台
├── avatars/ # 用户头像存储
├── config/ # 配置文件
├── announcement.txt # 公告文件
├── background.dat # 默认聊天壁纸
├── MSG.txt # 聊天记录(只存储50k)
├── MSGEND.TXT # 聊天总记录
├── data/ # 数据文件
├── emojis/ # 表情包存储
├── includes/ # PHP功能模块
├── public/ # 公共资源
├── uploads/ # 上传文件存储
├── voices/ # 语音消息存储
├── .htaccess # Apache配置
└── index.php # 主入口文件
克隆或下载项目到Web服务器目录
Github项目地址
git clone https://github.com/y313191/miniwechat.git
确保以下目录具有写入权限:
uploads/
avatars/
voices/
data/
emojis/
系统配置存储在 config/config.php
中,主要配置项包括:
—— 评论区 ——