A、B服务器安装了webman的GatewayWorker插件,怎么用sendToClient发消息

问题描述 A、B服务器可以通过内网IP访问,A服务器和客户端建立连接,B服务器想通过sendToClient给客户端发消息, A、B的process.php要怎么配置呢 return [ 'gateway' => [ 'handler' => Gateway::class, 'listen' => 'websocket://0.0.0.0:7...

fantasmic 发表与 2024-03-06 169 浏览 1 回答
reload后定时器被清掉

问题描述 webman使用GatewayWorker插件,逻辑代码在event里,服务端和客户端通过长连接建立,建立成功时会创建一个定时器,每X秒去redis里获取消息发给客户端,现在问题是服务器推送代码后框架会自动更新代码reload,这时进程中的定时器会被清掉但长连接又没断掉所以客户端也不知道该不该重新连接 看了下redis队列插件,逻辑代码又必须写在插件规定的目录和方法里 是目前解决定时器的问题还是换成redi...

fantasmic 发表与 2024-01-16 181 浏览 0 回答
AI助手访问报错PandoraNext

问题描述 自己部署的AI助手访问报错 It is recommended to upgrade to the latest PandoraNext: https://github.com/pandora-next/deploy 是填写了通义千问APIKEY后出现的问题,但不确定是否有关联...

fantasmic 发表与 2023-12-01 979 浏览 1 回答
【已解决】gateway-worker的onClose得不到$_SESSION数据

问题描述 发送消息如果不走进判断里关闭连接时可以获得$_SESSION数据,但进判断里就得不到了。 public static function onMessage($client_id, $message) { $msg = json_decode($message,1); $_SESSION['closeFlag'] = 123; if(!is_array($msg)){ ...

fantasmic 发表与 2023-11-27 240 浏览 1 回答
【已解决】webman结合gatewayWorker后能有多个events吗

问题描述 一个项目中能在process中配置多个gateway、worker、register吗? 想的是有多个业务进程 为此你搜索到了哪些方案及不适用的原因 大意了,端口还没改到...

fantasmic 发表与 2023-11-24 337 浏览 3 回答
【已解决】没有设置定时器但timer会+1

问题描述 在webman的自定义进程中设置了长连接,每个进程首次连上时timer会+1,第二次同一个进程就不会加了。 但是我代码中没有设置定时器,后来一步步定位到有一行代码调用了公共方法,方法里是先查redis有没有数据,有数据直接获取并返回,没有就查数据库存redis再返回。 能确定的是redis有数据,但没想明白为何走了这段代码timer就会+1,方法引用了support\Redis 最新发现,只要在onMes...

fantasmic 发表与 2023-11-01 232 浏览 0 回答
redis score 超过16位丢失精度,超过22变科学计数

问题描述 咨询个与框架无关的问题,做游戏项目时需要保存用户的积分值且在每局结束时实时返回排名和积分值。这块用的是redis zset,但有个问题是游戏中关数很多,积分值也会很大(就是超过16位数),score中保存整数值超过16位后精度丢失排序也会不准。...

fantasmic 发表与 2023-10-16 444 浏览 2 回答
客户端请求报10054或10060

问题描述 公司有个业务是这样的,python客户端有数据时(大概1秒1次)会请求服务器进行业务处理(只涉及redis),连接是通过http短连接,有3台服务器通过阿里云做负载,看了status每台机器每秒qps不到10。 现在问题是客户端连接时经常报 Connection aborted.', TimeoutError(10060, '由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。', Non...

fantasmic 发表与 2023-09-11 291 浏览 2 回答
webman onMessage里每日0点推送消息

问题描述 业务是这样的,通过自定义进程起的长连接,在onmessage里怎么每日0点给在连接着的客户端传消息。 不算是最优解的办法。因为要区分平台,某些平台需要在0点推送,在onmessage里$conn对象保存平台,在对应平台里起Crontab...

fantasmic 发表与 2023-09-01 268 浏览 1 回答
短连接给用户推消息方案

问题描述 用户请求接口开启推送任务,服务端收到后回调用户地址推送消息(不用长连接) 用户请求接口停止推送任务,服务端收到后停止回调用户地址 用户有几十上百,是用定时器还是其他方法呢? 如果用定时器停止时如果和定时器不在同个进程只凭定时器ID能否删除定时器? 为此你搜索到了哪些方案及不适用的原因 暂无...

fantasmic 发表与 2023-08-08 413 浏览 2 回答
webman项目性能压测

问题描述 公司项目使用webman,测试一个回调接口,目前没走业务,直接返回一个状态值 压测工具siege,50客户端100并发 压测和被压测服务器为4核16G,均按照手册优化内核 回调方要求1000qps,这是只能加机器了么 另外https性能这么差么,换了好多算法没什么用 使用内网IP时 使用外网IP时 使用域名(http)时 使用域名(https)时 为此你搜索到了哪些方案及不适用的原因 无...

fantasmic 发表与 2023-07-06 1134 浏览 4 回答
【已解决】webman内核日志按小时分割

问题描述 项目中内核记录的日志比较重要,但一天生成的内容很多,一天一个文件大多在百兆,怎么设置成X小时1个文件呢 为此你搜索到了哪些方案及不适用的原因 没有 找到在哪设置了,RotatingFileHandler.php里FILE_PER_DAY设置为'Y-m-d H',但这是改了源码了,不知道在config/log.php里是怎么设置的 上面虽然找到了解决方法但是实际操作下来发现还是有问题,表现是虽然按小时生成...

fantasmic 发表与 2023-06-28 1216 浏览 3 回答
【已解决】长连接在连接状态时,更新代码webman自动reload导致连接断开不执行onclose

问题描述 框架自动的reload会断开长连接且不执行onclose方法 为此你搜索到了哪些方案及不适用的原因 没有找到 自己傻B了,windows不支持平滑重启...

fantasmic 发表与 2023-06-16 328 浏览 2 回答
【已解决】redis6版本设置了只读账号,webman无法远程登录

问题描述 因为业务需要在默认账号写入数据后,前端需要用只读账号消费数据,在配置里设置了只读账号后服务器上能登录这个账号,但在本地测试远程登录时显示 RedisException: WRONGPASS invalid username-password pair or user is disabled. in xxxx\vendor\illuminate\redis\Connectors\PhpRedisConnect...

fantasmic 发表与 2023-06-05 411 浏览 1 回答
【已解决】线上服务器找不到验证器类

问题描述 安装了topthink和taoser的验证器 本地windosw环境运行无异常,一上到liunx服务器上就报错 程序代码 namespace app\validate; use taoser\validate; class XXX extends validate { } 报错信息 Error: Class 'taoser\validate' not found in 操作系统及workerman/w...

fantasmic 发表与 2023-05-19 483 浏览 3 回答
webman 平滑重启

问题描述 使用webman的自定义进程提供长连接服务,在修改其中代码后希望已有的长连接不断,新启动的长连接执行新代码 为此你搜索到了哪些方案及不适用的原因 问答里都是基于workerman的且时间较长了...

fantasmic 发表与 2023-04-24 959 浏览 1 回答
redis-queue消费获取数据

问题描述 使用redis-queue插件,消费时其他方法如何获取这条数据 <?php namespace app\queue\redis; use Webman\RedisQueue\Consumer; class MyMailSend implements Consumer { // 要消费的队列名 public $queue = 'send-mail'; // 连接名,对应 ...

fantasmic 发表与 2023-02-08 565 浏览 1 回答

fantasmic

-40
积分
0
获赞数
0
粉丝数
2022-10-08 加入
🔝