workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
http-client swoole协程 使用代理高并
发
出现报错
#### 问题描述 webman使用swoole协程,开启1
进
程,在使用错误的代理的情况下,50并
发
有大几率触
发
报错【ErrorException: Swoole\Coroutine::resume(
问答
依然还是出现 Alarm Clock(附上源码)不知道原理,哪位朋友解释一下啊。
我有一个server.php文件 我在主
进
程中使用GlobalData变量共享组件。每0.5秒随机赋予$global_client->param一个
数
字,这一切都是正常。$worker = new Worker(); $worker->onWorkerStart = function() use($global_client) { //每0.5秒随机设置一个
数
>param=rand(1,999999); }); }; Worker::runAll(); ``` 我有一个client.php文件 如果不要while循坏,我再cli模式下能正常获取
数
据
我的理解GlobalData变量共享组件 好比
数
据
库,我while就是不停的连接
数
据
库,但是没成功~不知道原理
分享
WebSocket客户端连接不上和掉线的问题以及解决方案
**Q1 客户端连接不上的问题** 这个问题我遇到的基本集中在后端,遇到的话需要收集日志
进
行分析,首先要查看是因为什么原因出现问题的,不过这种情况下多半会出现Exception,从Exception着手分析问题即可也可以通过客户端向服务器
发
心跳包,也可以服务器
发
送
心跳包至客户端。我们最终采用的方案是客户端向服务端
发
送
心跳包,服务端收到心跳包后会检测当前websocket session队列中是否存在同属性的websocket session,有的话关闭以前的session即可。我个人认为还是服务端像客户端
发
送
心跳包好一些,但这样做要注意性能问题。解决办法就是让浏览器每隔一定时间(要小于超时时间)
发
送
一个心跳。
问答
启动多
进
程任务,经常卡死
#### 问题描述
进
程卡死 !
问答
求一个关于公交车扫码的方案
#### 问题描述 感谢,是这样,我们想在自己的APP上生成一批核销码(
二
维码),比如我们的会员5毛钱可以买一个,然后会员通过初始
二
维码,公交车的扫码扫
二
维码后通讯告诉我们服务器,完成交易。公交车扫码枪厂家让我们指定
二
维码内容方案,请问大家用什么比较安全那,是不是应该和支付一样,SHA256签名验证啥的
问答
我在wokerman里新增了异步任务处理,能否提交合并
//www.workerman.net/upload/20200321/215e75b8dc5505.png)执行效果 增加了以下内容,参照的swoole /** 异步任务task方法时触
发
* @var callable */ public $onTask = null; /** 异步任务
进
程
数
大于0时创建异步
进
程 * @var int*/ public $task_worker_num = 0; /** 异步
进
程端口 不指定时以当主服务端口+100 * @var int */ public$task_port = 0; /** 异步任务
进
程 * @var Worker */ public $taskWorker = null; /** 不设置默认使用public $port = null; /** 异步任务 * @param mixed $data * @return bool|int 失败false 成功 返回任务
进
程
问答
gatewaker http 中如何实现延时而不影响程序运行
$mqtt->publish($ident,$payload,$options); }; RT 这个代码因为某些原因,需要后面的操作延时2秒执行,我写了sleep(2),新的
数
据
post
进
来要等两秒以后。我想要的结果是后面的操作延时2秒执行,但同时可以接收新的post
数
据
。
问答
\Workerman\MySQL\Connection 查询异常
#### 问题描述 webman自定义
进
程中process.php 想动态获取
数
据
库配置,
发
现如果
数
据
库里面如果有符合条件的内容那么页面就不会报错, 如果查询出来的
数
据
为空, 程序就报错了, 代码实测是没有问题的, 是不是因为在process自定义
进
程中会出现一些莫名其妙的问题呢?
问答
【已解决】使用官方demo,生产环境中channel server不能接收、推
送
事件消息
function () { Client::publish('test event', 'some data'); }); }; Worker::runAll(); ``` 结果只有
发
送
消息
问答
关于workerman http http 服务访问过快无返回的问题
[截图](/upload/img/20220627/2762b92ba30adc.png) 实际业务过程中,出现http 请求丢失的问题,我对比了经过nginx服务器
发
送
到workman http 服务的收
发
日志,同一时刻收到的记录比
发
出的记录少,导致
发
送
收到的回复超时,我怀疑是如图的问题。问题:我配置了http 服务器,收到即可回复“hello world”,但是 用curl 请求这个端口的时候,如果
发
送
过快就会无回复,卡住。不知道什么原因 !
分享
[Pandaman] 使用属性类定义路由的好处
### 使用属性类定义路由的好处 最明显的好处就是,开
发
过程中,在需求,路径,路由 等等反复修改时造成的多余的工作量。对于控
制
器的写死方式,并不灵活,比如 我想把登录的路由 放到用户的路由组下,这种情况下容器一改全改。 而使用注解的方式定义,随便你放到那里都行,不仅可以根
据
自己的喜好开
发
,还不受其它的影响。
分享
基于SaiAdmin开
发
的一款简单CMS系统,webman+vue3的完整框架
>saicms是一款基于saiadmin插件开
发
的开源Cms系统,能够简单的对站点内容
进
行管理 ## 官方网址:[ https://saithink.top ](https://saithink.topcms.saithink.top) 后台演示地址:[ SaiAdmin ](http://admin.saithink.top) 演示账号:admin 演示密码:123456 ## 安装方式 本项目是基于saiadmin开
发
的
问答
请教下 主
进
程接到reload信号后 为什么只posix_kill了一个
进
程id
$one_worker_pid = current(self::$_pidsToRestart); <====只取了需要resetart的
进
程里的一个 // Send reload signal
问答
php webman build:bin 8.3报错
#### 问题描述
二
进
制
打包失败 #### 报错信息 ``` D:\application\phpEnv\www\webman php webman build:bin 8.3 PHP Fatal
问答
使用
gatewayworker
,binduid之后如何根
据
uid判断online状态?
判断客户端在线有个isOnline方法,传入的是client_id字段, 在客户端连接binduid之后,怎么修改能传入uid就可以判断online状态了呢?
文档
setSession
# \
GatewayWorker
\Lib\Gateway::setSession ## 说明: ```php void Gateway::setSession(string $client_id, array## 参
数
* ```$client_id``` 客户端的client_id * ```$session``` 要设置的session
数
组 ## 返回值 无返回 ## 范例 ```phpuse \
GatewayWorker
\Lib\Gateway; class Events { ...
问答
能否将webman目录结构改成自己想要的
start.php--项目启动入口 ``` 示例访问:www.xbcode.net/plugin1/index/index/index 访问的则是【插件plugin1、模块index、index控
制
器等 3、创建webman
进
程,并监听端口默认8787 4、创建自定义
进
程 5、webman
进
程和自定义
进
程启动后执行以下逻辑(以下都是执行在onWorkerStart里) ### 处理请求流程 1、判断请求url是否对应的插件目录下public的静态文件,是的话返回文件(结束请求),不是的话
进
入2 2、根
据
url判断是否命中某个路由,没命中
进
入3、命中
进
入4 3、是否关闭了默认路由,是的话返回404(结束请求),不是的话
进
入4 4、找到请求对应的中间件,执行前置中间件,执行业务逻辑,执行后置中间件,请求结束。#### 为什么会有以上的想法(仅个人想法) - 至今开
发
我觉得,开
发
业务型插件和模块,好像都是大同小异的 - 应该像积木一样,会越来越多的插件,尽可能避免重复造轮子 - 既然是框架,尽可能的完全以积木式插件这种来搞比较好
问答
Worker
进
程时不时busy,strace频繁出现rt_sigreturn
#### 问题描述 1、使用
GatewayWorker
版本是v3.0.13,PHP7.4; 2、目前有7台Gateway服务器,每台规格是32C32G,每台Gateway是96
进
程
数
,7台Worker服务器,规格是16C16G,Worker是32
进
程
数
; 3、高峰期时,所有Worker
进
程都出现busy,那会没有把Log截取下来,后面就直接升级机器配置; 4、升级后,status -d,偶尔会出现busy
问答
【算解决了】webman的队列webman/redis-queue任务堆积,导致内存超过,导致
进
程退出
### 版本号 webman/redis-queue 1.3.2 #### 问题描述 我操作大表 ,导致所有队列
进
程busy, mysql阻塞写入,我理解 但索引添加完成, busy消失,但是内存超了plugin.webman.redis-queue.consumer:30563] exit with status 11 ### 暂时解决 我现在把所有延时队列 全部改成及时消费,目前cpu和内存都正常了 如果单条
数
据
量大
问答
workman没有正确设置sapi_globals_struct的request_info
autoload.php'; // 创建一个Worker监听2345端口,使用http协议通讯 $http_worker = new Worker("http://0.0.0.0:2345"); // 设置
进
程名称$http_worker->name = 'SoapServerWorker'; // 启动4个
进
程对外提供服务 $http_worker->count = 1; class SoapServ {$http_worker->onConnect = function ($connection) { echo "新连接:{$connection->id}\n"; }; // 接收到浏览器
发
送
的
数
据
时回复wsdl"); $fs = $client->__getFunctions(); // 向浏览器
发
送
hello world $response$e->getMessage()); } } else { // 如果不是预期的路径,可以
发
送
404响应或其他逻辑 $connection->send
« 上一页
1
...
209
210
211
212
213
214
215
216
...
432
下一页 »
« 上一页
212
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝