tp5.1 swoole 实现异步处理

客户端请求:
<?php
namespace appindexcontroller;

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';
  }
}

服务端异步处理:
<?php
/**
* Created by PhpStorm.
* Date: 2019/10/30
* Time: 9:54
*/
namespace appindexcontroller;

use thinkswooleServer;

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} ";
}


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 ";
//$server->send($fd, 'Swoole: '.$data);
}

public function onClose($serv, $fd)
{

}


}

启动服务 :php index.php index/Swoole/start
原文地址:https://www.cnblogs.com/wzjwffg/p/11765799.html