workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
用
GatewayWorker
TCP还需要自定义应用层协议么?
如果用那接收到一个不完整
数
据
是要在那个方法等待/检测 还是直接在onMessage里面等待?
问答
在webman安装
gatewayworker
插件后需要额外引入文件吗
[截图](/upload/img/20221020/206351175a26cf.png) 没有
gatewayworker
监听的端口,是否要额外创建
gatewayworker
的start_xx.php启动文件
问答
小白问题:关于用户分组,怎么获得分组的长度?
// 已经登录过了 if(isset($socket->uid)){ return; } // 更新对应uid的在线
数
据
// 这个uid有++$uidConnectionMap个socket连接 ++$uidConnectionMap; // 将这个连接加入到uid分组,方便针对uid推
送
数
据
$socket->join($uid1); $socket->uid = $uid; // 更新这个socket对应页面的在线
数
据
$socket->to($uid)->emit('update_online_count',$uidConnectionMap); }); ``` 请问怎么获取uid1房间的人
数
?uidConnectionMap获取的是全局的人
数
。
问答
$request->action返回的控
制
器名称是否为小写?
$request->action返回的控
制
器名称是否为小写? 测试了一下,是这样。 不知道是不是永远这样。
问答
怎么根
据
pid,具体确定是哪个业务
怎么根
据
pid,确定是哪个业务。我在onWorkerStart里编写了业务, if ($businessWorker->id == 0) if ($businessWorker->id == 1)等,现在25271这个
进
程占用cpu较高
问答
自定义协议长链接的问题
自定义了一个通讯协议,在Gateway中使用,但是
发
生一个问题,请指教: 看上去协议工作正常,而且相关消息处理过程也工作正常 客户端会不停的向服务器
发
送
心跳包,较长一段时间后,出现了“failedto open stream: Too many open files ”的错误警告 此时只有一个连接的 没有
数
据
库或其他缓存操作 不知道,出现这种情况,我应该从什么地方开始找问题
问答
麻烦问下如何防止被人频繁请求和脚本爬虫
比如 抓你文章 url参
数
id 加密 不要使用连续的 例如 id = 1 id=2 但是人家可以抓列表页 然后再匹配出id 还有就是
数
据
接口加密 请求返回的都是加密的 例如 asdklaslkdsajdalkjd但是人家可以本地破解 你只要解密的在客户端跑 都可以破解 就是时间问题 如何限
制
别人访问请求 比如正常人一次大概10秒吧 看一个页面 那个接口爬虫 一下就看200个页面 怎么限
制
他呢 加验证码吗但是这个体验不好 可能误伤友军 有啥好的方案没有 如何优雅的解决这个问题 限
制
到程序 不限
制
人 访问请求
文档
1.4
注意** > 如果无法升级,很可能是因为使用了composer代理,请使用以下命令 `composer config -g --unset repos.packagist` 恢复使用composer官方
数
据
源/plugin/app.md) ## 自动路由 1.4版本支持各种复杂的控
制
器目录规则,例如 ``` app app ├── admin │ └── v1 │ └── v2 │ 1.4版本允许关闭控
制
器复用,在`config/app.php`中设置`'controller_reuse' => false,`,这样每个请求都会重新初始化一个新的控
制
器,也就是说每个请求都会触
发
对应控
制
器的`__construct()`构造函
数
,开
发
者可以在构造函
数
中为每个请求执行一些请求处理前的初始化工作。因为可以关闭控
制
器复用,所以`webman/action-hook` 插件的不再需要了。 ## 开启http服务 1.4 版本支持开启多个端口提供http服务。 参见[慢业务处理](..
文档
pipe
# pipe ## 说明: ```php void Connection::pipe(TcpConnection $target_connection) ``` ## 参
数
将当前连接的
数
据
流导入到目标连接内置了流量控
制
。此方法做TCP代理非常有用 ## 范例 TCP代理 ```php <?建立本地80端口的异步连接 $connection_to_80 = new AsyncTcpConnection('tcp://127.0.0.1:80'); // 设置将当前客户端连接的
数
据
导向80端口的连接 $connection->pipe($connection_to_80); // 设置80端口连接返回的
数
据
导向客户端连接 $connection_to_80->
问答
windows 环境下启动的疑问
请问下,如果通过多个文件模拟count参
数
设置多
进
程,下面两种启动方式在程序执行上会有什么区别么?第一种启动方式 php start_worker1.php start_worker2.php 第
二
种启动方式 php start_worker1.php php start_worker2.php
问答
前端访问刷新出现 404 的问题
#### 问题描述 Apache 环境,前端 React 打包已经打好,放入 webman 项目 public 目录里,直接访问会默认跳转到 indexController 控
制
器,于是修改了路由,将'/' 转
发
到 /public/index.html 文件 这时候首页可以正常访问到前端首页,但是跳转页面或者在除首页外的其他页面上
进
行刷新,就会出现404 的错误,根
据
网上提供的 apache 重写规则修改.htaccess 文件并没有任何效果 请问 webman 因为 apache 代理转
发
监听端口,所以不走 apache 的重写规则么,那这个前端页面的访问该怎么处理呢,是不是一般就是 直接 '/{path}' 转
发
到 /public/index.html 完事呢?
问答
使用命令行打包成phar 自定义
进
程并未启动
#### 问题描述 在开
发
时 使用./windows.bat 正常启动了自定义
进
程 使用命令行打包成phar 自定义
进
程并未启动 不知道为什么 要怎么样才能打包phar并启动自定义的
进
程
分享
Laravel AI 辅助开
发
包 Laravel Boost 已
发
布
# Laravel AI 辅助开
发
包 Laravel Boost 已
发
布 !image.catchadmin.com/202508140821978.png) ## 简介 Laravel Boost 旨在通过为 AI 提供更完整的上下文与结构,来加速基于 Laravel 的 AI 辅助开
发
。从基础形态上看,Boost 是一个 MCP 服务器,内置 15+ 个为 AI 编码场景而设计的专用工具;同时提供可组合的 AI 指南(guidelines),针对 Laravel 生态包
进
行定
制
,使生成代码保持一致性与框架适配性## 安装 通过 Composer 安装(开
发
依赖): ```bash composer require laravel/boost --dev ``` 安装 MCP Server 与编码指南:请按以下配置注册: 命令与参
数
: ```bash php .
问答
能否开
发
一个像laravel 一样的formRequest,
进
行自动表单验证
#### 问题描述 能否开
发
一个像laravel 一样的formRequest,个人比较推崇把比较简单初级纯粹的验证放在formrequest自动验证,把特殊复杂跟业务联系紧密的验证放在服务层。controller 加 __call 没有执行,也没找到原因 3.看到网友的解决方案 https://www.workerman.net/a/1811 ,算是曲线救国路线,因为个人觉得把参
数
验证放在
分享
webman专用SKILL
|---|---| | `SKILL.md` | 核心心智模型、项目结构、常用命令、Do/Don't 速查 | | `references/routing-controller.md` | 路由、控
制
器、WebSocket/TCP、Timer、Crontab、队列、
进
程间推
送
| | `references/coroutine.md` | webman v2 协程:eventLoop 驱动、Context` | 基础插件与应用插件的开
发
、
发
布 | 采用渐
进
式披露:AI 平时只加载简短的 `SKILL.md`,遇到具体主题再按需读取 `references/` 下的对应文档,不浪费上下文。## 适用版本 - webman 1.5+ / 2.x(协程相关内容仅适用 2.x) - PHP 8.0+(v2 需 8.1+) -
数
据
库示例基于 `webman/database`(illuminate),并附 think-orm 说明 ## 目录结构 ``` webman-skill/ ├── SKILL.md # 技能入口(含 frontmatter 元
数
据
) ├──
问答
@walkor,webman考虑做一个类似uniapp这样的插件市场不
就是插件或者项目可以分为免费插件或者付费插件,然后你作为一个插件管理,按销售比例
进
行收费.这样不管是对插件市场或者创作者来说都是一件好事,有收益自然就会有人
制
作各种插件,而确实需要某些功能的人来说,也不会说不舍得花一点钱购买插件,毕竟如果让他自己开
发
,成本可能是购买插件
数
十倍.当然,产生这种想法的原因很简单,我想挣钱,毕竟这东西不能光靠用爱来
发
电.
问答
gatewaywoker 连接内存如何增大
连接中,有一笔
数
据
量较大的
数
据
需要处理。通过status显示
进
程为busy,这样造成了响应超时。连接的内存在哪里可以增大吗?
文档
getClientSessionsByGroup
## 返回值 返回值为client_id为key,client_id对应的$_SESSION为值的
数
组。array(...), '7f00000108fc00000009' => array(...), ) ``` 注意:如果是客户端断网断电等极端情况掉线,客户端的onClose回调可能无法及时触
发
,也就是说对应客户端出现断网断电等极端掉线情况返回值中可能包含了异常掉线的client_id
数
据
。这种情况需要[心跳来检测](heartbeat.md)已经掉线的客户端。getClientInfoByGroup | | 2.0.7 | 接口getClientInfoByGroup更名为getClientSessionsByGroup | ## 范例 ```php use \
GatewayWorker
, $group); var_export(Gateway::getClientSessionsByGroup($group)); } ... } ``` 打印出的
数
据
类似如下
问答
小白请教一下http-client重定向问题
. - 逻辑:第一次Post请求后会重定向到第
二
个页面,但是请求第
二
个页面会把第一个的Post
数
据
再次提交(再次提交就会出错)。我这里想手动处理 `Location` 来完成 #### 为此你搜索到了哪些方案及不适用的原因 - (源码中) 在 `Request` 中 `guardMax` 函
数
似乎在超出次
数
之后只会抛出异常
问答
socket知识
socket中的stream_socket_sendto和send两个函
数
有什么区别么,都是
发
送
data
« 上一页
1
...
163
164
165
166
167
168
169
170
...
451
下一页 »
« 上一页
166
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝