hyperf中如何使用Swoole\Table
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,本篇文章给大家分享的是有关hyperf中如何使用Swoole\Table,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Swoole\Ta
千家信息网最后更新 2024年11月18日hyperf中如何使用Swoole\Table
本篇文章给大家分享的是有关hyperf中如何使用Swoole\Table,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Swoole\Table的create需要在workStart之前,所以tcp服务启动之前,在server.php中配置SwooleEvent::ON_BEFORE_START监听事件
[ 'name' => 'tcp', 'type' => Server::SERVER_BASE, 'host' => '0.0.0.0', 'port' => 9503, 'sock_type' => SWOOLE_SOCK_TCP, 'callbacks' => [ SwooleEvent::ON_BEFORE_START => [\App\Tcp\ServerStartCallback::class, 'beforeStart'], SwooleEvent::ON_WORKER_START => [\App\Tcp\TcpServer::class, 'onWorkerStart'], SwooleEvent::ON_CONNECT => [\App\Tcp\TcpServer::class, 'onConnect'], SwooleEvent::ON_RECEIVE => [\App\Tcp\TcpServer::class, 'onReceive'], ] ]
在ServerStartCallback中实现Swoole\Table的初始化
column('fd', Table::TYPE_INT); $table->column('reactor_id', Table::TYPE_INT); $table->column('data', Table::TYPE_STRING, 64); $table->create(); $container = ApplicationContext::getContainer(); $server = $container->get(Server::class); $server->table = $table; }}
在TCP建立连接接收消息的时候,进行fd的绑定
logger = $loggerFactory->get('log', 'default'); } public function onWorkerStart(SwooleServer $server, int $worker_id): void { } public function onConnect(SwooleServer $server, int $fd, int $fromId): void { $this->logger->debug($fd); } public function onReceive(SwooleServer $server, int $fd, int $fromId, string $data): void { $this->logger->debug($fd . ' - ' . $data); // 检测数据,如果返回的前4位字符为IMEI,则应该为设备绑定fd if (strpos($data, 'IMEI') === 0) { $imei = substr($data, 5); $server->table->set((string)$fd, [ 'reactor_id' => $fromId, 'fd' => $fd, 'data' => $imei ]); } $this->logger->debug($server->table->count()); }}
以上就是hyperf中如何使用Swoole\Table,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
更多
知识
篇文章
实用
事件
字符
就是
工作会
数据
文章
时候
消息
看吧
知识点
行业
设备
详情
资讯
资讯频道
跟着
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器如何接电脑显示器
地名经纬度数据库sql
信用数据库安全
qq 云服务器
国产三巨头数据库
怀柔区网络软件开发创新服务
大学生必学网络技术包括
嘉定区智能软件开发收费
华为网络技术教材下载
网络安全方面的主管部门是
阳光软件开发工作室
校园网络安全论文1000字
系统软件开发个人开票税金
可信嵌入式软件开发与实践
ctf网络安全大赛主办方
市领导网络安全讲话
网站的配置信息存到数据库
单片机软件开发需要学什么
网络安全技术专家
怎么在一列查找重复数据库
网络安全教育分析报告
网络安全设备同一品牌的好处
bp网络安全是什么意思
软件开发类项目具体评价内容
网络技术弱电工程师
广东程序软件开发正规平台
软件开发企业营业成本占比
网络安全密钥有什么用
唐山计算机软件开发培训学校
君畅网络技术有限公司