workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
成员变量数据映射
不
一致
#### 问题描述 代码中定义map变量保存映射关系,偶尔出现一种情况,machineConnectionMap与connectionMachineMap的数据
不
对等,比如machineConnectionMap整个代码中仅在onClose中有unset掉map,对于这个问题有点莫名其秒,完全
不
知道从哪里下手排查。PS:因为应用很简单,所以只开了一个进程(即处理连接又处理业
务
,也只能开一个进程,否则多进程内map数据得
不
到共享) ``` class Serve { /** * 当连接建立时触发的
回
调函数$this->connections[$connection->id] = $connection; }; } /** * 当连接断开时触发的
回
调函数
文档
开发前必读
虽然子进程退出后会立刻重新创建一个的相同的子进程继续服
务
,但是还是可能对业
务
产
生
影响。### 6、改完代码需要重启服
务
才能
生
效
由于Workerman是常驻内存的,php类即函数的定义加载一次后便常驻内存,
不
会再次读取磁盘加载,所以每次修改完业
务
代码需要重启才能
生
效
。TCP传输层协议一个重要特点是TCP是基于数据流的,客户端的请求会源源
不
断的发送给服
务
端,服
务
端收到的数据可能
不
是一个完整的请求,也有可能是多个请求连在一起。**注意:只有在on{...}
回
调中载入的文件平滑重启后才会自动更新,启动脚本中直接载入的文件或者写死的代码运行reload
不
会自动更新。),所有进程都持有同一个连接,服
务
端通过这个连接返
回
的数据在多个进程上都可读,会导致数据错乱。
问答
关于webman异步任
务
的连接创建的问题(workerman道理相同)
[截图](/upload/img/20220524/24628c3e8e2857.png) 如图,calltask_init是异步任
务
服
务
端用来执行耗时任
务
,text协议,进程数开12,async_task_proxy为异步任
务
客户端,websocket协议,进程数开1,我在controller里做http接口,触发异步任
务
时直接连接async_task_proxy并指定要执行的异步任
务
。结果我连接调接口8次,却只有5个任
务
开始执行了,另外3个任
务
为等待状态,具体哪个任
务
执行,目前没发现规律。 我希望得到的结果是:异步任
务
进程数开12的话,那么只有第13个调用时才会发
生
任
务
等待。switch ($data['command']) { case 'init': // 指令为“初始化呼叫任
务
”reusePort (可选,此选项需要php>=7.0,默认为true) 'reusePort' => true, ] ]; ``` ------------ 感谢walkor老大的及时
回
复
问答
flash客户端请求workerman服
务
端时报错
/> <allow-http-request-headers-from domain="_" headers="_"/> </cross-domain-policy> ``` 另外我另外开启一个服
务
端口为843,给客户端返
回
xml文件还是
不
行。
问答
linux上workerman启动成功了,但是客户端无法连接是怎么
回
事
?
[attach]344[/attach]客户端用浏览器连接的,提示WebSocket connection to 'ws://xxxx:7272/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
问答
GatewayWorker在work
回
调中使用内部协议?
场景:app端链接到socket服
务
器端后,需要在别的项目(php项目)处理这个数据,然后再推送给app端。也就是双向通信 问题:如何实现呢?难道
不
能开启一个内部协议?我直接new work报错,找
不
到类!有没有demo? 感谢群主大大!
问答
gateway worker 自定义协议返
回
object序列化问题
在gateway worker中,使用自定义得protocol类中的decode方法返
回
一个object,框架会判断是否为标量,如果是则会序列化这个类,然后发送到business中。但是在business进程获取这个数据进行反序列化的过程中会出现一定概率失败的情况,这样这个business连接就彻底挂了,再也连
不
上gateway了,也没有重启,只要有消息是丢到这个business的话系统是收
不
到的
问答
使用http协议开启服
务
的时候,如果代码报错了,再重启服
务
就访问
不
了了,并且在关闭服
务
的时候报了一堆错误,请修复。
我用http协议开启了个服
务
,onMessage里面因为代码有问题报错了,然后重启该服
务
,在关闭该服
务
的时候会报错如下: ```php Warning: (null)(): supplied resourcediary/workerManApi/Workerman/Events/Select.php:294 ``` 我代码错误的地方在onMessage方法里面有一段代码,函数要求参数是引用类型,但是我传的
不
是重启了服
务
之后,http服
务
就访问
不
了了,是一直访问
不
了,必须把docker进程杀了才能好。 @walkor
问答
webman groupBy()使用之后报错
incompatible with sql_mode=only_full_group_by (SQL: select * from `kms_zan` group by `openid`) 求教这个问题是怎么
回
事
分享
给 CacheKV 做了个官网,全程用 AI 搞定
> 接上篇:[《用 Amazon Q AI 写了个 PHP 缓存库,解决"若无则获取并
回
填"这个老问题》](https://www.workerman.net/a/1889) ## 起因 CacheKV既然上次用 AI 写库
效
果
不
错,这次做官网也继续用 AI。**代码
生
成**:直接写出可用的代码 4. **问题诊断**:根据错误信息快速定位问题 5. **方案优化**:
不
断改进直到满意 感觉就像有个很有经验的前端开发在旁边帮忙。速度快,几分钟就能
生
成完整页面 2. 经验丰富,知道各种最佳实践 3. 调试能力强,能快速定位问题 4.
不
会偷懒,让它改什么就改什么 **我的工作:** 1. 提需求和反馈 2.对于个人开发者来说,这种协作模式
效
率很高。以前可能要花一两天做的
事
,现在几个小时就搞定了。 对于小项目来说,有个简单的官网确实能提升一些专业度。虽然
不
知道有多少人会看,但至少自己觉得完整了。
问答
是
不
是可以丢掉swoole而完全投入到workerman和webman的怀抱呢?
webman可以兼容已有的composer
生
态(swoole
不
能),而且可以常驻内存高性能,那是
不
是可以丢掉swoole而完全投入到workerman和webman的怀抱呢?
问答
webman-admin普通管理员添加数据无法自动
生
成admin_id
#### 问题描述 webman-admin普通管理员添加限制为auth数据时无法自动
生
成admin_id,看Crud.php中代码好像必须要前台传admin_id参数过来,
不
能自动获取当前管理员ID
问答
获取
不
到Gateway::getAllGroupIdList
用topthink/think-worker v3.0,获取
不
到Gateway::getAllGroupIdList 本来想做一个简单的接口输出在线群组的,但是突然发现获取
不
到 ```php $data7f00000107d00000024b", "7f00000107d000000262": "7f00000107d000000262" } } ``` 在线client列表是可以获取到的,grouplist获取
不
到为啥,是我的版本过低了还是这个扩展
不
行?需要更换。 我看官网的示例都在onMessage
回
调方法下使用的,尝试了一下在onMessage
回
调里面是可以获取到的,放到别的地方就获取
不
到了?
不
能单独那出来做接口使用吗?
问答
一键
生
成表单的情况下模糊搜索有BUG
#### 问题描述 表单中有3个模糊搜索栏目,现在的情况是我把自动
生
成的3个模糊搜索隐藏掉就可以正常搜索了。但是正常都显示的情况下会搜索
不
出来。> </div> </div> ``` #### 重现问题的步骤 表单中设置3个模糊搜索字段,我留空应该是
不
搜索但是实际上是无法搜索出来数据
问答
webman 如何输出二进制图片流?
#### 问题描述 做一个文字
生
成图片的功能,客户端需要接收是二进制图片,webman如何返
回
二进制图片?
问答
如何实现类似异步mySql的异步
回
调的本地函数呢?
使用过程: 收到消息后,调用异步
回
调函数,先发送状态给客户端; 然后,等
回
调函数执行完毕后,再发送结果给客户端。
问答
按照webman手册的宝塔安装,安装好了之后,无法关闭热更新
wwwroot/webman/start.php start 启动代码是这个 尝试过 php /www/wwwroot/webman/start.php start --no-reload 热更新依然会
生
效
分享
写了一个给插件
生
成model的指令
开发插件的时候想用指令
生
成模型,发现webman/console 没有实现这个 基于上述插件,浅浅的实现了一下 代码如下 ```php <?static $defaultName = 'make:pluginModel'; protected static $defaultDescription = 'make pluginModel
生
成插件的模型
问答
webman 中间件
不
支持到控制器
#### 问题描述 由于中间件
不
支持到控制器,一些鉴权和验证登录的,都是怎么做的? 在中间件里面一个方法一个方法去判断吗???? 如果这样的解决的话,那需要写多少判断啊....后期如果有变动,维护也是麻烦
事
情啊. 已解决,看下了官方出得admin插件...明白是怎么处理鉴权了
文档
ThinkORM
webman-v1/db/thinkorm.html) ## 安装think-orm `composer require -W webman/think-orm` 安装后需要restart重启(reload无
效
)^1.2.13` > **注意** > make:model 命令如果检测到主项目使用了`illuminate/database`,会创建基于`illuminate/database`的模型文件,而
不
是think-orm的,这时可以通过附加一个参数tp来强制
生
成think-orm的模型,命令类似 `php webman make:model 表名 tp` (如果
不
生
效
请升级`webman/console
« 上一页
1
...
63
64
65
66
67
68
69
70
...
468
下一页 »
« 上一页
66
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝