thinkphp3.2+workerman(GatewayWorker)+ Layim做即时通讯

这篇博客详细介绍了如何利用ThinkPHP3.2框架、Workerman的GatewayWorker和LayIM实现即时通讯功能。从程序逻辑、环境搭建到代码实现和数据持久化,一步步解析了整个过程。通过前端与GatewayWorker建立连接、用户ID与连接ID的绑定、消息的发送与接收,实现了跨设备聊天记录的存储和展示。同时,还提到了在Windows系统上搭建WebSocket环境的注意事项和可能出现的问题及其解决办法。
摘要由CSDN通过智能技术生成

此博客参考https://fly.layui.com/jie/12624/

一,程序实现的逻辑:

  1. 后端还是和以前一样,传值给前端。
  2. 前端与GatewayWorker建立连接获取特定的连接id

(这样前端就有用户id和连接id)

    3.前端通过ajax方法发送用户id和链接id给后端,后端进行绑定

    4.监控前端发送消息,发送人id,当触发该事件,传到后端,后端根据用户id值,发送给特定的人

    5.监控前端接收消息,当有新消息过来就在页面执行相应的代码

 

 

二,环境的搭建

1,下载GatewayWorker

(地址:http://www.workerman.net/download/GatewayWorker-for-win.zip

2,修改Applications/YourApp/目录下的start_geteway.php 24行左右 修改为$gateway = new Gateway("websocket://0.0.0.0:8282");(端口号和前端保持一致)

3,下载workerman的GatewayClient(https://github.com/walkor/GatewayClient);

4,将下载好的Gateway重命名为Gateway.class.php并修改命名空间为namespace Org\Util;

  1. 将前面重命名Gateway.class.php复制到thinkphp/library/org/util/目录下
  2. 双击启动GatewayWorker根目录下的start_for_win.bat()

如果出现下面:

说明启动成功

如果没有启动成功将有以下解决方法

  1. 将php设置为全局环境变量(网上有很多方法)测试是否成功在命令行执行php –v,如果提示php不是内部或外部命令之类的就说明没有设置好
  2. 如果有下图之类的提示

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值