PHP怎么实现实时聊天?GatewayWorker+Thinkphp5即时通讯系统实现

news2024/11/24 12:25:04

PHP怎么实现实时聊天?GatewayWorker+Thinkphp5即时通讯系统实现

一、项目介绍

后端技术:thinkphp5+fastadmin+gatewayworker
前端技术:jquery+html+css+websocket
项目实现了简单的登录、注册功能,会员可进行后台管理,主界面主要分为两部分,消息列表联系人,这部分样式简单模仿了QQ的界面,点击后进入到聊天详情页,可实时收发消息,进行聊天。
功能列表:

  1. 实时接收与发送消息
  2. 聊天消息的存储
  3. 拉取消息历史记录
  4. gatewayworker如何与thinkphp结合
  5. 如何绑定gatewayWorker与用户
  6. 未读消息的显示与处理

二、界面演示

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去实现实时通讯系统

八、如何获取

有意者,加如下微信联系,价格优惠哦~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/52492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[OpenCV实战]52 在OpenCV中使用颜色直方图

颜色直方图是一种常见的图像特征,顾名思义颜色直方图就是用来反映图像颜色组成分布的直方图。颜色直方图的横轴表示像素值或像素值范围,纵轴表示该像素值范围内像素点的个数或出现频率。颜色直方图属于计算机视觉中的基础概念,其常常被应用于…

Ceres库中参数理解

1 参数含义 2 参考链接 Modeling Non-linear Least Squares — Ceres Solver (ceres-solver.org) Ceres详解(二) CostFunction_他人是一面镜子,保持谦虚的态度的博客-程序员宝宝_ceres costfunction - 程序员宝宝 (cxybb.com)

Linux基础知识与实操-篇七:用户身份切换与特殊控制

文章目录使用者身份的切换配置sudo单一用户群组处理有限制的命令操作特殊shell与PAM模块Linux用户信息传递与当前系统上其他用户对话建立大量账号最后在理解了前篇 篇六:用户权限控制与账号管理 后,我们继续深入用户权限控制关于用户身份切换、限制特殊权限相关的内…

一步步带你用react+spring boot搭建后台之二(登录与首页篇)

前言 最近半年一直在重庆忙于项目上的事情,博客停更了好久,一直想写2个开源项目: 一个是入门级:一步步带你用reactspring boot搭建后台 一个是olap应用系列:一步步构建olap分析平台 今天开始写第一个系列,完整代码随…

LDO(线性稳压器)设计检查

原理图设计规范检查——LDO(线性稳压器)设计检查 LDO基本概念: LDO即low dropout regulator,是一种低压差线性稳压器,这是相对于传统的线性稳压器来说的。传统的线性稳压器,如78XX系列的芯片都要求输入电…

Linux cifs挂载远程windows共享目录

Linux cifs挂载远程windows共享目录共享windows目录开启共享权限共享磁盘或目录Linux 先决条件安装Linux依赖开启Administrator 用户使用Username/Password挂载临时挂载自动挂载使用Credentials挂载创建CIFS Windows共享凭证文件临时挂载自动挂载终止挂载共享windows目录 开启…

“算力时代”奔涌而来,JASMINER茉莉发布能效更强劲的X16-Q

11月26日,JASMINER茉莉发布X16系列首款静音型算力产品X16-Q,并同步开启全球预售,将为行业带来更高效、更绿色、更智能的智慧算力。 JASMINER X16相较X4系列产品迎来了全新的“进化”,除去新一代JASMINER茉莉自研高通量芯片的应用…

百看不如一练系列 32个python实战项目列表,得不到就毁掉

前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行。 这里整理了32个Python实战项目列表,都有完整且详细的教程,你可以从中选择自己想做…

Day2多种抓包工具介绍以及使用封包监听工具找到挑战数据包实现发送数据包进行挑战

工具相关证书安装指南 Charles https://blog.csdn.net/weixin_45459427/article/details/108393878 Fidder https://blog.csdn.net/weixin_45043349/article/details/120088449 BurpSuite https://blog.csdn.net/qq_36658099/article/details/81487491 Fiddler: 是一…

PyQt5 不规则窗口的显示

PyQt5 不规则窗口的显示QPixmap和QBitmap绘图的效果对比不可以拖动的不规则窗口可以拖动的不规则窗口不规则窗口实现动画效果加载GIF动画效果函数描述setMask(self, QBitmap)setMask(self, QRegion)setMask()的作用是为调用它的控件增加一个遮罩,遮住所选区域以外的…

【Android App】实战项目之仿微信的附近的人(附源码和演示 超详细)

需要全部源码请点赞关注收藏后评论区留言私信~~~ 艺术家常说“距离产生美”,其实距离近才是优势,谁不希望自己的工作事少钱多离家近呢?不光是工作,像租房买房、恋爱交友,大家都希望找个近点的,比如58、赶集…

【react-笔记】

目录简介基本使用虚拟dom的两种创建方法jsx语法规则模块与组件、模块化和组件化的理解模块组件模块化组件化函数式组件类式组件组件实例三大属性statepropsrefs事件处理包含表单的组件分类非受控组件受控组件高阶函数_函数的柯里化生命周期引出生命周期理解生命周期(旧)总结新的…

Verilog 延迟反标注

延迟反标注, SDF 延迟反标注是设计者根据单元库工艺、门级网表、版图中的电容电阻等信息,借助数字设计工具将延迟信息标注到门级网表中的过程。利用延迟反标注后的网表,就可以进行精确的时序仿真,使仿真更接近实际工作的数字电路…

当MySQL想恋爱,java和navicate抢着做媒婆 ------ java连接MySQL数据库 navicat for MySQL 连接

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 **收录于专栏 数据库 ⭐当MySQL和java通过媒婆navicate谈上了恋爱⭐ 文章目录⭐当MySQL和java通过媒婆navicate谈上了恋爱…

Linux 多线程

目录 一.线程概念 1.什么是线程 2.页表 (1)页表结构 (2)好处 3.线程优点 4.线程缺点 5.线程异常 6.线程用途 7.进程和线程的 8.简单使用线程 二.线程控制 1.使用线程 2.线程栈和pthread_t 3.线程的局部存储 4.分离…

[附源码]计算机毕业设计springboot室内设计类网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

R语言中的划分聚类模型

划分聚类 是用于基于数据集的相似性将数据集分类为多个组的聚类方法。我们围绕聚类技术进行一些咨询,帮助客户解决独特的业务问题。 【视频】KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例 KMEANS均值聚类和层次聚类:R语言分…

GUI自动化测试工具Sikulix的安装和使用

从程序内部控制对小白来说太难了,所以使用一下自动化测试的工具直接控制按钮达到我的目的 一个比较好的自动化测试工具是Sikulix,这里记录一下安装和基本的使用 下载和安装 官网:http://www.sikulix.com/ 下载对应系统的.jar需要使用java&…

第二证券|A股集体收涨,汽车产业链爆发!房地产延续强势

11月30日早盘,A股三大指数小幅上行。到午间收盘,沪指涨0.21%报3156.50点,深成指涨0.38%,创业板指涨0.20%;两市算计成交5692亿元。 盘面上看,轿车、燃气、地产、油气、煤炭等板块走强,酒店餐饮、…

实验室信息化建设的意义

实验室信息管理系统将实验室的仪器设备、实验人员、实验环境以及相关数据进行集成和管理,使整个实验室形成一个有机整体,规范了业务流程和管理体制,实现各部门之间资源共享协同作业,达到优化配置资源和提高工作效率,不…