首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
外部的变量在recevice回调和task回调如何同步
{{{ **<?php $serv = new swoole_server("127.0.0.1", 9501); $serv->set(array( 'worker_num' => 1, 'task_worker_num' => 1, )); $serv->on('connect', function ($serv, $fd){ echo "Client:Connect.\n"; }); $serv->buffer = array(); $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->buffer [$fd] = array('fd'=> $fd); var_dump($serv); $task_id = $serv->task($data); }); $serv->on('task', function ($serv, $fd, $from_id, $data) { var_dump($serv); return 111; }); $serv->on('finish', function ($serv, $task_id, $data) { echo "AsyncTask[$task_id] Finish: $data".PHP_EOL;; }); $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start();** }}} 在receive回调,设置$serv->buffer [$fd] ;在task回调,打印$serv,没有得到刚设置$serv->buffer [$fd]信息。
发布于8年前 · 1 次浏览 · 来自
提问
M
M·Reinhard
{{{ **<?php $serv = new swoole_server("127.0.0.1", 9501); $serv->set(array( 'worker_num' => 1, 'task_worker_num' => 1, )); $serv->on('connect', function ($serv, $fd){ echo "Client:Connect.\n"; }); $serv->buffer = array(); $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->buffer [$fd] = array('fd'=> $fd); var_dump($serv); $task_id = $serv->task($data); }); $serv->on('task', function ($serv, $fd, $from_id, $data) { var_dump($serv); return 111; }); $serv->on('finish', function ($serv, $task_id, $data) { echo "AsyncTask[$task_id] Finish: $data".PHP_EOL;; }); $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start();** }}} 在receive回调,设置$serv->buffer [$fd] ;在task回调,打印$serv,没有得到刚设置$serv->buffer [$fd]信息。
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2016-06-05
l
liyangphp
onReceive和onTask不在同一个进程内执行,所以到onTask这里是无法获取到$serv->buffer的值。
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。