hyperf中如何使用Swoole\Table
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇文章给大家分享的是有关hyperf中如何使用Swoole\Table,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Swoole\Ta
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
数据库城市表
2021年网络安全预案
清远app软件开发
系统网站服务器运维
基层网络安全工作如何做
软件开发学校有什么专业
软件开发工程 c++
网络安全支持进校园怎么画
数据库设计系统e-r图例子
网络技术大题
河北应用软件开发服务费
网络安全端口关联
接收用户来访的机构网络安全
淄博物联网软件开发
sql中执行数据库已经存在
远程登录服务器的软件
软件开发项目确认函模板
软件测试占软件开发多少
网络安全法定责
网络安全的三个属性
杭州海康软件开发
软件开发小组成员名单
关系数据库怎么看
学软件开发比较好的专科学校
长沙泽楷网络技术有限公司
知乎工商银行软件开发中心笔试
苹果服务器主机为何那么贵
岳阳进销存软件开发
云显卡服务器
无法连接服务器1237