thinkPHP6接入workman
上篇介绍了workman实现websocket功能(链接:https://blog.csdn.net/weixin_38155824/article/details/128952037)
后传:解决workman部署到Linux环境无法启动和连接的问题(https://blog.csdn.net/weixin_38155824/article/details/129004050)
这篇就介绍如何在thinkPHP6项目中接入workman。
利用TP6的自定义命令开启websocket服务
查看TP6手册:命令行=>自定义命令
第一步,执行以下命令,就会会生成一个app\command\Chat命令行指令类.
php think make:command Chat startChat
第二步,配置config/console.php文件
<?php
return ['commands' => ['chat' => 'app\command\Chat',]
];
第三步,测试-命令帮助-命令行下运行
php think
输出
执行
php think chat
自定义命令搞定后,就可以引入workman了
在项目根目录下通过comoser安装workman:
composer require workerman/workerman
然后将上一篇的workman开启wetsocket服务的代码复制到新创建的自定义命令类Chat.php中
(划重点:要引入vendor目录下的autoload.php,路径要写对)
(划重点:要引入vendor目录下的autoload.php,路径要写对)
(划重点:要引入vendor目录下的autoload.php,路径要写对)
<?php
declare (strict_types = 1);namespace app\command;use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require __DIR__ . '/../../vendor/autoload.php';class Chat extends Command
{protected function configure(){// 指令配置$this->setName('startChat')->setDescription('the startChat command');}protected function execute(Input $input, Output $output){// 指令输出$output->writeln('startChat');//启动workman-websocket服务// 注意:这里与上个例子不同,使用的是websocket协议$ws_worker = new Worker("websocket://0.0.0.0:2000");// 启动4个进程对外提供服务$ws_worker->count = 4;// 当收到客户端发来的数据后返回hello $data给客户端$ws_worker->onMessage = function(TcpConnection $connection, $data){//在控制台打印客户端发送过来的消息var_dump($data);var_export($data);// 向客户端发送hello $data$connection->send('hello ' . $data);};// 运行workerWorker::runAll();}
}
然后再执行一下命令:php think chat
输出:
thinkPHP6接入workman相关推荐
- thinkphp6项目的支付宝手机网页支付接入
搞了两天,踩了一大堆坑,终于对接好支付宝的支付了,下面记录 一下最近对接的心得. 先说效果,我建立了一个控制器,方法pay,传入订单ID,就可以支付这个订单了,回调建立方法,notify_url,有了 ...
- tp6/thinkphp6如何接入微信授权openid
默认配置的appid 和 secret 前端传来的code进行request请求 //获取微信用户授权信息的open_idpublic function getOpenId($id='1',$code ...
- 【汇总】ThinkPHP6入门手册
阿里云SMS发送短信验证码 - PHP接入手机验证码服务 - ThinkPHP6 https://blog.csdn.net/qq285744011/article/details/127798837 ...
- ThinkPHP6使用七牛云存储,不改代码,改下配置就上七牛
ThinkPHP6使用七牛云存储,不改代码,改下配置就上七牛 介绍 ThinkPHP6中使用flysystem作为文件处理类,flysystem是一个php文件处理库,可以使用相同的接口连接本地,ft ...
- php宝塔搭建saas平台多租户多应用多终端系统ThinkPHP6框架
大家好啊,我是测评君,欢迎来到web测评. 有个朋友问我,有没有SaaS相关的系统,最好是php开发的,今天逛了开源社区,刚好看到这套挺不错的,本期就给大家分享这套bwsaas多端SAAS平台运营系统 ...
- Bwsaas框架基于Thinkphp6.x开发的微信公众号,小程序,app,H5等多端打通的框架
完善bwsaas框架并开源原生小程序商业版本前端应用 新增 1插件安装升级,安装平台系统插件(type=admin_system)时可同时添加多个角色组(平台系统功能+租户系统功能),需要在group ...
- Android 接入Realm并使用
今天看自己写的github demo 看到Realm 这里在回顾下 github 搜索Realm 我们可以选择java 可以看到Realm 介绍: Realm是直接在手机,平板电脑或可穿戴设备内部运行 ...
- tp5+workman
tp5+workman composer require topthink/think-worker=1.0.* 可能会存在版本问题 转载于:https://www.cnblogs.com/wxt ...
- micropython mqtt_MicroPython使用MQTT协议接入OneNET云平台
MicroPython使用MQTT协议接入OneNET云平台 [复制链接] 本帖最后由 hanyeguxingwo 于 2016-11-22 11:33 编辑 之前使用Arduino+ESP8266使 ...
最新文章
- 2021下半年,我只想用Python搞钱!
- post请求与get请求的差别
- 【收藏】sonar-scanner扫描代码出错 SonarQube svn: E170001
- php 写 mysql 事件_PHP日歷,包含來自MySQL數據庫的重復事件
- 堆叠自编码器中的微调解释_25种深刻漫画中的编码解释
- 杭电1422 重温世界杯
- akka入门书籍的示例代码
- 【SpringMVC】@Controller 和 @RestController 区别
- anaconda r 语言_anaconda 配置R语言
- python flink kafka_Flink Kafka 端到端 Exactly-Once 分析
- 简单屏幕录制截屏工具
- 第十一次 Java作业
- Macbook Pro 外接显示器关闭內建屏幕的方法,开盖状态
- fullpage得基本使用
- 微信分享到朋友圈的链接,内容打开正常,但在微信中分享时封面缩略图图像和标题显示不出来?
- tomcat下载、安装、配置(新手教程墨迹版)
- turtle库的一些基本函数
- 金刚菩提子开裂自动修复此计算机,金刚菩提子开裂怎么办 金刚菩提子为什么会开裂...
- oracle表数据恢复为1小时之前,恢复一个小时前数据
- 编译原理学习笔记(七)~LR(0)分析