【swoole】php5.6 swoole(demo)小测试

网友投稿 412 2022-10-16


【swoole】php5.6 swoole(demo)小测试

swoole:网上看到的解释“实现实时异步任务队列;PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。”相关文档地址:https://wiki.swoole.com/wiki/page/6.html刚接触swoole的时候是懵的状态,然后看demo自己试着调试了一下:

set(array('task_worker_num' => 4));//一开始设置了4个,然而我测试的时候并没有用这么多 //接收客户端发来的数据 $serv->on('receive', function($serv, $fd, $from_id, $data) { //投递异步任务 $serv->send($fd, 'Swoole: '.$data.'测试数据');//发送回客户端 $task_id = $serv->task($data);//继续向服务端发送(执行异步任务) echo "receive" . $task_id;//当前的作业号 }); //处理异步任务 $serv->on('task', function ($serv, $task_id, $from_id, $data) { sendScore($data);//自己写的方法 处理数据 //返回任务执行的结果 $serv->finish($data); }); //处理异步任务的结果 $serv->on('finish', function ($serv, $task_id, $data) { echo "finish".$task_id;//任务结束标志 }); $serv->start(); //自己写的测试方法 function sendScore($data){ //获取到$data //$arr = json_decode($data,true); //判断数据是否异常 echo '判断数据是否异常(中间层的异步执行)'; return true; } connect('0.0.0.0', 4001, -1)) { exit("connect failed. Error: {$client->errCode}\n"); } $client->send('hello lin');//客户端发送数据给服务端 echo $client->recv();//接收服务端传回来的 $client->close();

这才是刚刚开始......下面打算做一个聊天室之类的练手,如果上面有哪里写的不对的.....以后回来再更新~


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot实现异步事件驱动的方法
下一篇:Spring整合Mybatis的全过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~