首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
websocket不支持异步
{{{ <?php //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = new swoole_websocket_server("0.0.0.0", 9502); //设置异步任务的工作进程数量 $ws->set(array('task_worker_num' => 4)); //监听WebSocket连接打开事件 $ws->on('open', function ($ws, $request) { var_dump($request->fd, $request->get, $request->server); $ws->push($request->fd, "hello, welcome\n"); }); //监听WebSocket消息事件 $ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; //投递异步任务 $task_id = $ws->task($frame->data); echo "Dispath AsyncTask: id=$task_id\n"; }); //处理异步任务 $ws->on('task', function ($ws, $task_id, $from_id, $data) { echo "New AsyncTask[id=$task_id]".PHP_EOL; //返回任务执行的结果 $ws->finish("$data -> OK"); }); //处理异步任务的结果 $ws->on('finish', function ($ws, $task_id, $data) { echo "AsyncTask[$task_id] Finish: $data".PHP_EOL; }); //监听WebSocket连接关闭事件 $ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $ws->start(); }}} 报错 PHP Warning: swoole_server::task(): Task method cannot use, Please set task_worker_num. in /home/wwwroot/default/wordpress/swoole.php on line 16 Dispath AsyncTask: id=
发布于7年前 · 2 次浏览 · 来自
提问
V
Var抉择
{{{ <?php //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = new swoole_websocket_server("0.0.0.0", 9502); //设置异步任务的工作进程数量 $ws->set(array('task_worker_num' => 4)); //监听WebSocket连接打开事件 $ws->on('open', function ($ws, $request) { var_dump($request->fd, $request->get, $request->server); $ws->push($request->fd, "hello, welcome\n"); }); //监听WebSocket消息事件 $ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; //投递异步任务 $task_id = $ws->task($frame->data); echo "Dispath AsyncTask: id=$task_id\n"; }); //处理异步任务 $ws->on('task', function ($ws, $task_id, $from_id, $data) { echo "New AsyncTask[id=$task_id]".PHP_EOL; //返回任务执行的结果 $ws->finish("$data -> OK"); }); //处理异步任务的结果 $ws->on('finish', function ($ws, $task_id, $data) { echo "AsyncTask[$task_id] Finish: $data".PHP_EOL; }); //监听WebSocket连接关闭事件 $ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $ws->start(); }}} 报错 PHP Warning: swoole_server::task(): Task method cannot use, Please set task_worker_num. in /home/wwwroot/default/wordpress/swoole.php on line 16 Dispath AsyncTask: id=
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2018-02-15
颖
颖-
你没有设置 `task_worker_num`
赞
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一直是同一个。没用使用到多进程啊。