PHP怎么实现实时聊天?GatewayWorker+Thinkphp5即时通讯系统实现
一、项目介绍
后端技术:thinkphp5+fastadmin+gatewayworker
前端技术:jquery+html+css+websocket
项目实现了简单的登录、注册功能,会员可进行后台管理,主界面主要分为两部分,消息列表、联系人,这部分样式简单模仿了QQ的界面,点击后进入到聊天详情页,可实时收发消息,进行聊天。
功能列表:
- 实时接收与发送消息
- 聊天消息的存储
- 拉取消息历史记录
- gatewayworker如何与thinkphp结合
- 如何绑定gatewayWorker与用户
- 未读消息的显示与处理
二、界面演示
1、登录和注册页
访问路径:域名/index/login/login
2、主页面-消息页
主要功能:第一次注册用消息页为空列表,若是收到别人发来的消息则新增一条消息在列表中,若是已经存在同一个人发来的消息,则未读数加1,同时消息也进行同步更新
3、主页面-联系人
主要功能:选择某个用户对其发送消息
4、聊天页面
主要功能:实时接收对方发来的消息,并将消息入库,页面刷新依旧能够获取以往的聊天记录。
5、后台用户管理功能
三、数据库设计
项目以fastadmin为基础进行开发,登录注册沿用fastadmin的token机制,消息功能主要相关的主要为图中红圈中的三张表
四、代码结构
五、视频演示
20221201-120216
六、如何运行
1.开启脚本
2、访问登录页
首先需要去除访问路径上的index.php,nginx在配置文件中加入以下代码
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
随后访问:http://自己的项目域名/index/login/login
七、适用人群
1、具有一定的PHP基础和fastadmin框架知识的
2、想了解PHP如何通过workman去实现实时通讯系统
八、如何获取
有意者,加如下微信联系,价格优惠哦~