tp5 异步处理_tp5.1 swoole 实现异步处理
客户端请求:
namespace app\index\controller;
class Index
{
public function index()
{
$client = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC);
$ret = $client->connect("192.168.10.10", 9502);
if(empty($ret)) {
echo 'error!connect to swoole_server failed';
} else {
dump('ccc');
$client->send('blue');//这里只是简单的实现了发送的内容
}
echo 'success';
}
}
服务端异步处理:
/**
* Created by PhpStorm.
* Date: 2019/10/30
* Time: 9:54
*/
namespace app\index\controller;
use think\swoole\Server;
class Swoole extends Server
{
protected $host = '0.0.0.0';
protected $port = 9502;
protected $serverType = 'tcp';
protected $option = [
'worker_num'=> 4,
'daemonize' => false,
'backlog' => 128,
'task_worker_num' => 4, //任务工作进程
];
public function onConnect($serv, $fd)
{
echo "server: handshake success with fd{$fd}\n";
}
public function onTask($serv, $task_id, $from_id, $data)
{
echo "New AsyncTask[id=$task_id]".PHP_EOL;
//返回任务执行的结果
sleep(5);
$serv->finish("$data -> OK");
}
public function onFinish($serv, $task_id, $data)
{
echo "AsyncTask[$task_id] Finish: $data".PHP_EOL;
}
//接收客户端发送的数据
public function onReceive($server, $fd, $from_id, $data)
{
$task_id = $server->task($data);
echo "开始投递异步任务 id=$task_id\n";
//$server->send($fd, 'Swoole: '.$data);
}
public function onClose($serv, $fd)
{
}
}
启动服务 :php index.php index/Swoole/start
tp5 异步处理_tp5.1 swoole 实现异步处理相关推荐
- thinkphp5 异步调用方法_thinkphp5 swoole 执行异步任务
目录结构: 服务器端: /* *author:hdj */ namespace app\Console; use think\console\Command; use think\console\In ...
- tp5 童攀_TP5.1+swoole+redis+nginx实战开发B2B2C多商户商城系统
{getUnitName} 免费 {getTaskName} 剩余观看时长:{watchLimitRemaining} 回放 {activityStartTimeStr} 正在直播中 直播结束 {ac ...
- thinkphp5 异步调用方法_详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
本文介绍了thinkphp5+swoole实现异步邮件群发(SMTP方式),分享给大家,具体如下: 1.环境说明 阿里云centos7 thinkphp5.0.11 swoole2.0.8 2.tp实 ...
- 【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )
OkHttp 系列文章目录 [OkHttp]OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) [OkHttp]Android 项目导入 OkHttp ( 配置依赖 | 配置 ...
- javascript等待异步线程完成_JavaScript 中的异步原理
来源:极链科技 作者:周哲 所谓"异步" ,简单说就是一个任务分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段.比如,有一个任务是读取文件进行处理,异 ...
- 深入理解python异步编程_深入理解Python异步编程
1 什么是异步编程 1.1 阻塞程序未得到所需计算资源时被挂起的状态. 程序在等待某个操作完成期间,自身无法继续干别的事情,则称该程序在该操作上是阻塞的. 常见的阻塞形式有:网络I/O阻塞.磁盘I/O ...
- 同步电路出现异步清零可以吗_异步计数器 || 计数器的分类 ||异步二进制十进制|| 74290 8421 5421 || 数电...
异步计数器 || 计数器的分类 || 异步 二进制 十进制 || 74290 || 数电 这一节介绍异步二进制计数器. 计数器功能: 计数器是对输入脉冲个数进行计数的时序电路. 计数器除了直接用于计数 ...
- 【转】1.7异步编程:基于事件的异步编程模式(EAP)
传送门:异步编程系列目录-- 上一篇,我给大家介绍了".NET1.0 IAsyncResult异步编程模型(APM)",通过Begin*** 开启操作并返回IAsyncResult ...
- 切面是异步还是同步操作‘_细说JS异步发展历程
知其然知其所以然,首先了解三个概念: 1.什么是同步? 所谓同步,就是在发出一个"调用"时,在没有得到结果之前,该"调用"就不返回.但是一旦调用返回,就得到返回 ...
最新文章
- Docker容器的备份与恢复,Docker镜像的备份与恢复
- mysql事务拼写_拼写mysql单词
- 用python玩转数据第四周答案_2020大学mooc用Python玩转数据课后答案
- hadoop MultipleInputs fails with ClassCastException (get fileName)
- 从下列选项中选择正确的java表达式,java笔试常见的选择题
- mysql中b树是什么_MySQL优化中B树索引知识点总结
- Python 编程训练(3)
- 美国当地时间4月17日中国概念股收盘行情
- 【ResNet】Pytorch从零构建ResNet18
- 富士施乐 DocuCentre-V 3065 打印机远程命令执行漏洞
- 解除IIS文件下载限制
- 笔记本cpu温度多少正常?温度过高的4个常见原因
- 麦当劳肯德基供应商使用变质过期肉:吃不死人
- redis可持续化存储的时候出现Can t save in background fork Cannot allocate memory
- 用matlab怎么画出y=sin(t)的导函数图像?用diff为什么一阶导函数会缩小100倍,二阶导函数会缩小1000倍。求大神指教
- J辉摇号摇奖抽奖软件
- 凯恩帝绝对坐标清零_数控凯恩帝相对和绝对坐标怎么切换切换,求师傅
- 容器+云管,BoCloud博云定位PaaS场景而非只是容器标签
- android操作系统
- win7备份工具_Win7/10系统如何一键还原系统?一键备份还原系统方法图文教程