首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole的onTask()第一次执行的时候都会是失败的嘛
### 问题描述 客户端第一次连接服务端会发送一个数据包,服务端接收这个数据包,放到onTask()内去执行,task()返回的task_id为0,但是任务正常执行,以下为截图   ### Swoole版本,PHP版本,以及操作系统版本信息 Swoole版本4.4 PHP版本7.3 操作系统Linux Red Hat ### 相关代码 ```php /** * [onMessage 接收到socket客户端发送数据的回调函数] * @method onMessage * @param swoole_server $serv [description] * @param swoole_websocket_frame $frame [description] * @return [type] [description] */ public function onMessage(swoole_server $serv, swoole_websocket_frame $frame) { //收到数据时处理数据 $clientData = json_decode($frame->data,true); // 绑定发消息UID和管道 $this->redis->set($clientData['from_uid'], $frame->fd); // 先做用户验证 // 做正常流程 // 统一放到任务队列里面去处理 $task_id = $serv->task($clientData); print_r("$task_id\n\r"); // 任务失败的情况做处理 } ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 我期待的结果就是没有错误,第一次连接的时候task_id返回正确。实际看到的错误时task_id返回错误但是正常进入onTask()内去执行了
发布于5年前 · 2 次浏览 · 来自
提问
西班牙馅饼
### 问题描述 客户端第一次连接服务端会发送一个数据包,服务端接收这个数据包,放到onTask()内去执行,task()返回的task_id为0,但是任务正常执行,以下为截图   ### Swoole版本,PHP版本,以及操作系统版本信息 Swoole版本4.4 PHP版本7.3 操作系统Linux Red Hat ### 相关代码 ```php /** * [onMessage 接收到socket客户端发送数据的回调函数] * @method onMessage * @param swoole_server $serv [description] * @param swoole_websocket_frame $frame [description] * @return [type] [description] */ public function onMessage(swoole_server $serv, swoole_websocket_frame $frame) { //收到数据时处理数据 $clientData = json_decode($frame->data,true); // 绑定发消息UID和管道 $this->redis->set($clientData['from_uid'], $frame->fd); // 先做用户验证 // 做正常流程 // 统一放到任务队列里面去处理 $task_id = $serv->task($clientData); print_r("$task_id\n\r"); // 任务失败的情况做处理 } ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 我期待的结果就是没有错误,第一次连接的时候task_id返回正确。实际看到的错误时task_id返回错误但是正常进入onTask()内去执行了
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2021-03-27
鲁飞
投递的task_id就是0,你可以在onFinish事件中打印task_id
赞
0
回复
2021-03-28
西班牙馅饼
回复
鲁飞
请问为什么task_id为0呢,我看文档说他正常的是不会为0的
赞
0
回复
2021-03-28
鲁飞
回复
西班牙馅饼
文档中写了,$task_id 可能为 0 https://wiki.swoole.com/#/server/methods?id=task
赞
0
回复
2021-04-01
西班牙馅饼
回复
鲁飞
啊好的,谢谢您,是我没有看仔细,误解意思了
赞
0
回复