此博客参考https://fly.layui.com/jie/12624/
一,程序实现的逻辑:
- 后端还是和以前一样,传值给前端。
- 前端与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;
- 将前面重命名Gateway.class.php复制到thinkphp/library/org/util/目录下
- 双击启动GatewayWorker根目录下的start_for_win.bat()
如果出现下面:
说明启动成功
如果没有启动成功将有以下解决方法
- 将php设置为全局环境变量(网上有很多方法)测试是否成功在命令行执行php –v,如果提示“php不是内部或外部命令“之类的就说明没有设置好
- 如果有下图之类的提示