workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
请老大指点这样的应用场景
我有这样的应用场景,客户端是游戏机,服
务
端是demo里的聊天代码做的gateway服
务
,游戏机开机后连接服
务
器,并
生
成支付二维码,用户扫描二维码支付,把发送到服
务
端后,我检测该游戏机是否在线,在线则把支付信息转发给游戏机,
不
在线则退款给用户,这样一般没啥问题,但是由于没有采用游戏机与服
务
端的应答机制,游戏机的网络环境有时
不
太好,在发送给游戏机时后,gateway里的发送方法没有返
回
值,我并
不
知道发送成功
不
成功,游戏机有没有接到支付信息,我服
务
端并
不
知道,只是单纯的以为在线就发送过去了,但经常有游戏机没有接到支付信息的
事
情,这样用户支付了钱,游戏机并
不
知道,所以没让他玩,这样用户体验非常
不
好,但是现在我
不
知道怎么解决这样的一个问题,做个定时器轮询游戏机有没有
回
信息吗只有这样一个想法,但是也
不
知道怎么写? 求老大指点迷津。。。。。 [attach]754[/attach] [attach]755[/attach]
问答
内置的http协议
不
能正常上传文件
https://github.com/walkor/Workerman/pull/396 原本的http协议
不
能把上传的文件处理成和其他服
务
器一样的
效
果,比如我在使用thinkphp时,thinkphp的上传文件处理类并
不
能用,而这并
不
是thinkphp的锅,http协议处理上传文件的方法确实
不
符合一般的服
务
器文件上传
效
果.可以处理下吗,或者至少让这个文件处理方法parseUploadFiles能够被重写
问答
异想天开了一下,在控制器方法中可以
不
返
回
Response 对象吗
各位大佬,在控制器中可以
不
返
回
Response 对象吗? 控制器方法直接返
回
其他对象,然后做个拦截器,判断控制器方法返
回
的是什么类型。如果是Response 对象,则
不
做处理; 如果是其他对象,进行处理包装一下,返
回
Response 对象。 测试是可以的,打扰各位了
问答
请问大家是如何将websocket在线连接用户列表数据和其他应用共享呢?
我目前的websocket服
务
已经开发完了,
不
过我发现在将在线用户列表的信息和其他应用共享的时候,搞得太复杂了,我先说说的处理方法吧: 我是在 redis 里面存了一个 sid 为 key,uid 为value 的数组,sid是客户端js
生
成的一个唯一字符串,该值在用户登录的有
效
期内是保持
不
变的,uid就是数据表里的id字段值,自增数字型。客户端每次连接成功后都会给服
务
发一条消息,服
务
端在 onMessage
回
调方法里面会将 redis 里面的数据取出,然后 json_decode 处理成数组,然后检查当前的sid在
不
在这个数组里面,
不
在加加进去,加完之后又将该数组 json_encode 处理成字符串存
回
redis 中去。我感觉我这个过程巨复杂,如果用户
不
停的在网页之间跳来跳去,就会
不
停的连接和关闭,感觉这个对服
务
器的压力太大了,所以请教各位有没有什么简单的方法呢?
问答
gateway 服
务
启动成功,握手时方法能触发,握手完成时没有触发
#### 问题描述 gateway 服
务
启动成功,握手时方法能触发,握手完成时没有触发 是什么问题 #### 程序代码或配置 ``` /** * onConnect
事
件
回
调])); Gateway::sendToCurrentClient("触发握手"); } /** * onWebSocketConnect
事
件
回
调
问答
workerman 怎么部署在windows服
务
器上?
服
务
器上PHP `new Worker("websocket//0.0.0.0:2345")`,可以运行。但是我换成`Worker("websocket://XX.XX.XX.XX:2345")`阿里云服
务
器绑定域名的IP后,就报错 E_ERROR "Uncaught Exception: 在其上下文中,该请求的地址无
效
服
务
器的2345端口,在阿里云控制台安全策略中上下行都是开通的。服
务
器系统的防火墙都是关闭的。我通过浏览器访问2345也可以帮到网站,说明其端口是可以访问的。我要的实现的是常规的,A页面发信息,B页面
不
用刷新就能看见。而教程中并没有类似的基础的案例。只有类似AJAX的接受返
回
。且教程基本都是内网IP,没有服
务
器部署的教程。显然workerman
不
可能只在内网工作。
问答
webman 定时任
务
重复运行的问题
#### 问题描述 业
务
逻辑是用定时任
务
来
回
收发放的消费券(判断过期后
回
收券池),目前是三台服
务
器,根据.env的自定义标识在定时任
务
中判断只在固定的一台服
务
器运行定时任
务
, 现在出现了重复
回
收的情况而且很奇怪的是 并
不
是所有消费券都被重复
回
收了 只有其中一半 另一半正常 所有代码中 只有定时任
务
中有
回
收的功能 这里搞
不
懂为什么定时任
务
会重复运行 或者说是 两个同样的定时任
务
同时运行#### 为此你搜索到了哪些方案及
不
适用的原因 搜寻了一些问答 跟我的server配置有关系没 跟多进程有关系?
问答
TCP连接服
务
器发送给客户端有时候发
不
出去,但客户端数据能发到服
务
器
换成TCP协议了,客户端的内容完全正常能到达服
务
器端,但是服
务
器要发
回
去什么数据,可能一段时间内持续收
不
到,应该是没有发出去。但是此期间,客户端数据能完全到达服
务
器。
不
知道是什么情况,心累 发送接收用的同进程,一般没问题,就是有时候会出现,收
不
到服
务
器的数据
问答
试卷
生
成算法问题请教!
#### 问题描述 一个班有50名学
生
要
生
成每人的考试答卷。**要求是**:让随机的2人考95分以上、15人考80~90分、30人考60~80分、剩余的
不
及格;同时要求做到错题
不
能有完全一样的试卷。也就是说,同学要随机、分数要随机、错题也要随机。**题型为**:单选、
不
定项选择与判断题,单题分值在1、2、3、4、5分布。 请问大佬们有没好办法,求指导。- #### 为此你搜索到了哪些方案及
不
适用的原因 暂时没有搜索到此类似问题。
问答
生
产环境报错Error package错误
[](/upload/img/20240812/1266b9da16f458.png)运行了很久的
生
成环境突然报了很多Error package. package_length的错误,搜了下之前提问的记录,也有人这样,说是是发的数据
不
符合协议导致的,如果是运行了很久的
生
产环境应该
不
是这个问题导致的吧,后来在启动的时候加了这个TcpConnection::$defaultMaxPackageSize修改了包的限制是解决了这个问题,但是从改了这个之后每隔一段时间经常在某个时间点就大量的进程busy了,要杀进程重启才能好,
不
知道是
不
是改这个导致的
问答
心跳没
效
果,但后端服
务
已经设置了心跳了。
#### 问题描述 我客户端开始能链接上ws服
务
,但过几十秒样子,又断开了显示链接失败。应该是心跳没接成功。现在问题是我服
务
端已经加上了 心跳,怎么没起作用呐?gateway->count=4,起始端口为4000 // 则一般会使用4000 4001 4002 4003 4个端口作为内部通讯端口 $gateway->startPort = 4900; // 服
务
注册地址"}'; $gateway->pingData = '{"type":"hello"}'; // 当客户端连接上来时,设置连接的onWebSocketConnect,即在websocket握手时的
回
调connection->onWebSocketConnect = function($connection , $http_header) { // 可以在这里判断连接来源是否合法,
不
合法就关掉连接// onWebSocketConnect 里面$_GET $_SERVER是可用的 var_dump($_GET, $_SERVER); }; }; // 如果
不
是在根目录启动
问答
onmessage
回
调,根据
不
同协议,进行
不
同解析
onmessage
回
调函数。 可以得到是哪个协议发过来的消息嘛? 谢谢
问答
php代码里面怎样获取workerman的运行状态并控制启动和关闭
#### 问题描述 根据官网方法,创建了websocket服
务
,命令行执行命令查询状态、开启和关闭都没问题,现在想做成页面可视化,在页面点击按钮,调用php方法控制进程的开启和关闭,在php中使用popen#### 为此你搜索到了哪些方案及
不
适用的原因 查询运行状态 $cmd = "cd /www/wwwroot/master/public && php Worker.php status"; exec($cmd,$result); 无论是已启动还是未启动,都返
回
not run, 还有控制开启和关闭,都
不
生
效
。
问答
【咨询】有没有计划更新Webman AI 智能音乐
生
成插件
#### 问题描述 当前的gcui-art/suno-api已经挂了,Webman AI 智能音乐
生
成插件已经用
不
了,毕竟花了钱买了插件,
不
用就有点可惜,
不
知道webman官方有没有计划更新插件或者换成其他音乐
生
成api,比如minimax的音乐
生
成等
问答
关于客户端获取返
回
数据
假设gatewayworkerman服
务
叫a,客户端c1连接到a上向另外一个连接到a的客户端c2发送了一个消息,c2接收到该消息后去执行一段业
务
逻辑,然后返
回
结果如何给c1返
回
去啊?
问答
gatewayworker内存问题
压力测试的时候发现的, 连接数越大,进程内存越大, 但是连接数减小,到连接数变到0,内存还是
不
变小, 每个进程内存达到上限的时候,重新连接服
务
器,发现就连接
不
上服
务
器了, 可能是进程内存满了。。。有60多m
不
晓得怎么
回
事
问答
微信支付
回
调问题
在框架里面使用easywechat时候使用$response->send();微信无法获取到
回
调成功的提示该怎么处理嘞,微信一直在
回
调,每个订单都
回
调满次 ```php public functionsymfony_request); $response = $app->handlePaidNotify(function ($message, $fail) { // 业
务
逻辑
问答
代码冷启动,总是第一次报错,咋
回
事
呢?后面就正常了
filePath;//原图片名称 $dst_img = $thumbnailPath;//压缩后图片的名称 $percent = 0.5; #原图压缩,
不
缩放定义图片保存文件名 $savePath = time().mt_rand(10000000,99999999).uniqid().'.png'; //将图片传到腾讯云(原图
不
压缩$savePath;//远程服
务
器存储的名字 //如果存在图片类型 if(isset($type) && $type){ $server_key_name$savePath;//远程服
务
器存储的名字 } //引入腾讯云cos require '.原图和缩略图) @unlink($filePath); @unlink($thumbnailPath); //请求成功,返
回
图片存储信息
问答
webman 中间件里对$request赋值只是针对当前请求有
效
吧, 如果并发也互
不
影响的吧?
#### 问题描述 webman 中间件里对$request赋值只是针对当前请求有
效
吧, 如果并发也互
不
影响的吧?
不
会造成当前请求的这个赋值被其他请求改变的情况吧?
问答
Event
事
件里无法使用依赖注入
#### 问题描述 Event
事
件处理类里无法使用依赖注入, 然而把这个依赖注入放在controller下就能正常访问 #### 程序代码 ``` #
事
件注册 \plugin\foo\configFooService.php class FooService { public function test() { var_dump("----------------"); } } #
事
件处理类User { /** * @Inject * @var FooService */ protected $fooService; /** * 用户注册成功后的
事
件
« 上一页
1
...
21
22
23
24
25
26
27
28
...
471
下一页 »
« 上一页
24
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝