客户端请求:

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 实现异步处理相关推荐

  1. thinkphp5 异步调用方法_thinkphp5 swoole 执行异步任务

    目录结构: 服务器端: /* *author:hdj */ namespace app\Console; use think\console\Command; use think\console\In ...

  2. tp5 童攀_TP5.1+swoole+redis+nginx实战开发B2B2C多商户商城系统

    {getUnitName} 免费 {getTaskName} 剩余观看时长:{watchLimitRemaining} 回放 {activityStartTimeStr} 正在直播中 直播结束 {ac ...

  3. thinkphp5 异步调用方法_详解thinkphp5+swoole实现异步邮件群发(SMTP方式)

    本文介绍了thinkphp5+swoole实现异步邮件群发(SMTP方式),分享给大家,具体如下: 1.环境说明 阿里云centos7 thinkphp5.0.11 swoole2.0.8 2.tp实 ...

  4. 【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )

    OkHttp 系列文章目录 [OkHttp]OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) [OkHttp]Android 项目导入 OkHttp ( 配置依赖 | 配置 ...

  5. javascript等待异步线程完成_JavaScript 中的异步原理

    来源:极链科技 作者:周哲 所谓"异步" ,简单说就是一个任务分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段.比如,有一个任务是读取文件进行处理,异 ...

  6. 深入理解python异步编程_深入理解Python异步编程

    1 什么是异步编程 1.1 阻塞程序未得到所需计算资源时被挂起的状态. 程序在等待某个操作完成期间,自身无法继续干别的事情,则称该程序在该操作上是阻塞的. 常见的阻塞形式有:网络I/O阻塞.磁盘I/O ...

  7. 同步电路出现异步清零可以吗_异步计数器 || 计数器的分类 ||异步二进制十进制|| 74290 8421 5421 || 数电...

    异步计数器 || 计数器的分类 || 异步 二进制 十进制 || 74290 || 数电 这一节介绍异步二进制计数器. 计数器功能: 计数器是对输入脉冲个数进行计数的时序电路. 计数器除了直接用于计数 ...

  8. 【转】1.7异步编程:基于事件的异步编程模式(EAP)

    传送门:异步编程系列目录-- 上一篇,我给大家介绍了".NET1.0 IAsyncResult异步编程模型(APM)",通过Begin*** 开启操作并返回IAsyncResult ...

  9. 切面是异步还是同步操作‘_细说JS异步发展历程

    知其然知其所以然,首先了解三个概念: 1.什么是同步? 所谓同步,就是在发出一个"调用"时,在没有得到结果之前,该"调用"就不返回.但是一旦调用返回,就得到返回 ...

最新文章

  1. Docker容器的备份与恢复,Docker镜像的备份与恢复
  2. mysql事务拼写_拼写mysql单词
  3. 用python玩转数据第四周答案_2020大学mooc用Python玩转数据课后答案
  4. hadoop MultipleInputs fails with ClassCastException (get fileName)
  5. 从下列选项中选择正确的java表达式,java笔试常见的选择题
  6. mysql中b树是什么_MySQL优化中B树索引知识点总结
  7. Python 编程训练(3)
  8. 美国当地时间4月17日中国概念股收盘行情
  9. 【ResNet】Pytorch从零构建ResNet18
  10. 富士施乐 DocuCentre-V 3065 打印机远程命令执行漏洞
  11. 解除IIS文件下载限制
  12. 笔记本cpu温度多少正常?温度过高的4个常见原因
  13. 麦当劳肯德基供应商使用变质过期肉:吃不死人
  14. redis可持续化存储的时候出现Can t save in background fork Cannot allocate memory
  15. 用matlab怎么画出y=sin(t)的导函数图像?用diff为什么一阶导函数会缩小100倍,二阶导函数会缩小1000倍。求大神指教
  16. J辉摇号摇奖抽奖软件
  17. 凯恩帝绝对坐标清零_数控凯恩帝相对和绝对坐标怎么切换切换,求师傅
  18. 容器+云管,BoCloud博云定位PaaS场景而非只是容器标签
  19. android操作系统
  20. win7备份工具_Win7/10系统如何一键还原系统?一键备份还原系统方法图文教程

热门文章

  1. python使用imbalanced-learn的NeighbourhoodCleaningRule方法进行下采样处理数据不平衡问题
  2. 句法分析语料:宾州树库、UD树库
  3. 特征工程之数据分箱、Nominal特征编码、Ordinal分类特征编码、特征交叉组合、特征差分
  4. 贝叶斯统计的无信息先验和共轭先验
  5. Python pandas用法
  6. NCBI-SRA数据下载
  7. 微信小程序和vue双向绑定哪里不一样_vue和微信小程序的区别、比较
  8. python 对 yaml 文件操作
  9. 八、进程调度的时机、切换与过程,调度方式
  10. 【tensorboard】从tensorboard上看出模型是否存在过拟合