workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
wokerman 差
不
多隔了
不
到一天就会断链,这是什么情况 ,obj.socket.emit('execute_tele',sendParam);就会
不
返
回
信息
问答
🚀 社区提问规范 🚀
### 详细清晰的描述 问题没人
回
复80%以上是因为大家无法明白提问者的意图,或者缺失一些关键信息例如测试代码、完整的报错及调用栈,具体报错文件代码截图等,
回
答者
不
愿意花费时间像挤牙膏一样
不
断询问具体情况### 粘贴完整的报错信息 如有报错,请
务
必粘贴**完整**的报错内容及**完整**的调用栈(有的话)。如果报错中包含了报错文件及行数,请
务
必截图报错文件里那几行的代码,因为大部分报错问题的关键就在那几行代码。### 整洁的排版 排版一定要整洁规范,**代码用及报错信息请
务
必使用工具栏的代码块格式化(如下图)**。混乱的排版说明你
不
重视这个问题,同时也是对
回
答者的
不
尊重,自然也就没有人
回
答。 !### 请勿重复发帖 问题没人
回
复请勿重复发帖
问答
请教下:gatewayworker 服
务
端自动断开是什么原因?
请教下:gatewayworker 服
务
端自动断开是什么原因? 运行一段时间后,或者关闭连接窗口后会断开,php start.php start
不
是一直打开状态吗?
问答
webserver中能否使用redis
redis安装没问题,扩展也没问题,在Event.php中可以正常使用,但是在webserver中使用没有
效
果。
不
知道为什么
问答
小白咨询workerman问题
我想知道workerman对于长轮询、短轮询来说,是否能有
效
减轻服
务
器压力? 2. 有一篇文章,我想直接推送所有内容(标题、时间、内容等),这样就
不
用去存储介质中读取数据了,节省了一次HTTP请求。可是这样会
不
会造成丢包现象或某个用户收
不
到的情况?? 还是说仅仅推送一个文章id,用户收到文章id后去数据库读取显示比较稳妥些?
问答
php tp5.1 workerman 本地调试都正常,代码更新到linux服
务
器上,启动后报错
#### 问题描述 linux服
务
器上启动workerman #### 程序代码 ``` <?$connection->send($content); } catch (HttpException $e) { ``` #### 报错信息 ``` 服
务
器启动worker后服
务
端返
回
错误信息。
分享
PHP-Raylib 视 频 游 戏 编 程 库
+版本而且文档可能还要去翻 C ,这对于 phper 来说是很扯蛋的一件
事
情。 所以我就自己使用ffi拓展对接了一下最新的5.5版本。也从 c 示例上使用PHP来实现了一部分(看文档示例)。`可能完善度
不
高,欢迎 PR。", 190, 200, 20, $green); Core::endDrawing(); // 结束绘制 } // 关闭窗口 Core::closeWindow(); ``` ##
效
果展示
问答
webman多应用 控制器多层嵌套后beforAction会失
效
猜测是那个自动解析路由的官方说明有问题,目前找
不
到具体原因,顺带再问下,多层嵌套的控制器只能通过路由自动解析实现,那么怎么为
不
同的路由设定中间件呢 这个官方没有说明,是否跟正常控制器的那种路由一样的设置方法
问答
多进程如何平均分配连接数
#### 问题描述 1、项目里有一个设备接入服
务
,是多进程运行,在每个进程里创建一个异步客户端。比如 4 个进程 2、起了另一个服
务
TCP服
务
,上面的异步客户端连接到这里,接受来自接入服
务
的数据。同样 4 个进程 3、通过'reusePort' => true, 目的是可以平均接入服
务
的4个异步AsyncTcpConnection,结果是连接还是集中在其中1个或者2个随机的进程里。'reusePort' => true 没有起
效
#### 程序代码或配置 'option' => [ 'count' => 4,
问答
我看代码写的是随机这个列表请求 如果有台服
务
器挂了,随机请求到这台服
务
器就会请求失败是吗,而
不
是请求失败后会去列表的其他服
务
器请求
集群情况下服
务
器请求失败,会去另一台请求吗
分享
根据官方文档依赖注入出现`ReflectionParameter::getClass()`的解决方法
www.workerman.net/doc/webman/di.html)来进行依赖注入,会出现`Method ReflectionParameter::getClass() is deprecated`的问题,该问题的产
生
是因为php8
不
支持`getClass()`写法,得用`getType()`的写法 ## 解决方案 - 在项目底下创建`modify.php`文件 - 修改`composer.json`文件,新增`post-install-cmdupdatedContent = str_replace('$parameter->getClass()', '$parameter->getType()', $content); // 将替换后的内容写
回
文件
问答
请问如果在cli模式下启用http协议,如何发送header头呢?
Workerman\MySQL\Connection('127.0.0.1', '50681', 'root', 'root', 'aqr_develop'); }; // 接收到浏览器发送的数据时
回
复json_encode($all_tables)); // $connection->send(PHP_SAPI); }; // 运行worker Worker::runAll(); ``` 设置了header头,无
效
问答
微信小程序mpx框架使用weapp.socket.io连接
不
上socket.io,原
生
的可以
createConnect() { const io = require('../../utils/weapp.socket.io.js') const socket = (this.socket = io('https://***:2120')) console.log(socket) socket.on('connect', () => { console.log('连接成功') socket.emit('login', 123) }) socket.on('new_msg', (msg) => { console.log(msg) console.log(`${msg}`) }) },
问答
【已解决】定时任
务
怎么执行指定的类中的方法(或静态方法)
#### 问题描述 使用的组件时`workerman/crontab`,看手册介绍的例子是在定时任
务
文件中的匿名函数中编写业
务
处理,如果我想在一个类种的某个方法里写业
务
逻辑。如何写才能调用到。#### 为此你搜索到了哪些方案及
不
适用的原因 我使用`new Crontab('*/1 * * * * *',call_user_func([HomeController::class,'index']));` 就启动的时候执行了一次,后面
不
执行了。
问答
gatewayworker能
不
能聊天和消息提示走
不
同端口啊?怎么实现?
'127.0.0.1:1236', ]] ], shop\services\sockets\Events里只做绑定,把gatewayWorker当作推送通道,除了上下线
事
件处理发送消息 在控制器里调用GatewayClient调用gatewayWorer接口发送消息 GatewayClient::sendToUid($uid, $message); ``` 但是这样实现
不
了聊天走一个端口
文档
Redis队列
,否则返
回
false或者抛出异常。** > 如果命令
不
存在也可以手动
生
成 ```php <?> redis-queue没有ack机制,你可以把它看作是自动ack(没有产
生
异常或Error)。如果消费过程中想标记当前消息消费
不
成功,可以手动抛出异常,让当前消息进入重试队列。> **提示** > 消费者支持多服
务
器多进程,并且同一条消息**
不
会**被重复消费。消费过的消息会自动从队列删除,无需手动删除。如果redis接收速度慢于消息
生
产速度,或者进程一直忙于其它业
务
没有足够的时间将内存的消息同步给redis,就会导致消息挤压。如果有消息挤压超过600秒,就会触发此错误。
分享
Ⓜ️ 案例系列 | webman云端同步阿里云盘存储文件服
务
## 阿里云盘 阿里云盘是阿里巴巴集团推出的一款个人云存储服
务
产品。它为用户提供了一个安全、稳定、高
效
的云端存储空间,用户可以在其中存储、管理和同步各种类型的文件和数据。[截图](/upload/img/20240810/1066b6cbf40f81.png) ## 接入流程 > 服
务
端 API 调用流程如下图所示 !
问答
请教关于session和异步任
务
的两个疑问
GatewayWorker,碰到两个小问题求教 1.在Events中onMessage中,假设有3000个设备发消息过来,我把每个设备的id都存入到$_SESSION中,这里大量操作$_SESSION会
不
会造成业
务
堵塞因为每天设备上发数据量比较大,都先写入REDIS,现在想用异步任
务
去读取redis队列中的数据然后写入MYSQL,如果开了多个进程去取数据,会
不
会造成重复写入 另外问个项目实现思路的问题: 现在服
务
器A上单独跑了GW来处理硬件上报数据,然后另外服
务
器B上WEB后台需要获取硬件的在线状态 我现在的做法是单独开了websocket协议的gateway,然后WEB后台连上来,服
务
器A中GW接收数据, 大概代码是这样
问答
BusinessWorker面对高并发出现busy
没有操作数据库之类的只是做转发处理,从出现的情况来看和连接数也多少也没有直接关系,查看日志后里面让我去看: See http://wiki.workerman.net/Error2 for detail 这个网页,看了后说是业
务
造成死循环导致的,但是从我代码来看并
不
会出现死循环,随后我在发送消息时我在业
务
处理前监测它,但是并没有第一时间收到数据,而我在业
务
处理完后也监测它,只要我接收消息就在业
务
处理中就
不
会产
生
延迟,说明是在发送信息中就阻塞的
问答
gatewayworker设置的worker数量太多,导致require_once文件失败
一个基于gatewayworker框架的服
务
器程序,我设置了5个gate, 10个worker,然后一个含5个worker的客户端,每个worker发起1000个连接到服
务
器,发现服
务
器报require_once文件失败,是从autoload.php调用起来的,竟然 会出现这种
事
!
« 上一页
1
...
105
106
107
108
109
110
111
112
...
465
下一页 »
« 上一页
108
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝