workerman
首页
问答
分享
手册
市场
商业
客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
WEB消息推
送
框架可以绑定两个域名后,消息不关联么?
我用linux服务器,使用nginx配置两个域名指向同一个WEB消息推
送
框架测试,两个域名下的消息是互通的,有没有什么办法可以设置一个域名下
发
送
消息,只在当前域名下收到,不影响其他域名的消息接收呢
问答
现在有个需求,客户端
发
完消息想知道是否
发
成功,就是需要服务端有回执,然后好做消息重
发
?
现在有个需求,客户端
发
完消息想知道是否
发
成功,就是需要服务端有回执,然后好做消息重
发
?怎么实现呢?client A
发
消息server,server转
发
给client B,然后client B收成功后
发
ack给server,server再把ack信息回执给client A,请问老大是这样的吗?那如果client B
发
这个ack有延迟怎么办呢?还是server这边每
发
个消息启动个定时器比如10秒内没收到client B的ack确认就告诉client A消息
发
送
失败了,但这样感觉挺复杂了 本质还是对消息重
发
流程不太懂
问答
已解决,前端fetch请求,后端webman流式响应后如何断开链接
#### 问题描述 对接文心一言,前端是fetch请求,后端使用AsyncTcpConnection请求后流式返回
数
据
,但是前端一直是请求尚未完成 #### 后端代码 ```php /** *'ssl' : 'tcp'; //建立链接时,
发
送
请求
数
据
$connection->onConnect = function($connection) use($parse_url, $post, $adminUser) { // 准备POST
数
据
,包括appId $postData = json_encode([ 'message' => [$postData; //
发
送
HTTP POST请求 $connection->send($httpRequest); }; //当收到消息的时候 $connection== false) { //分割成
数
组 $buffer = explode('event:message', $http_buffer); //取最后一个 $buffer
文档
TcpConnection类
每个客户端连接对应一个Connection对象,可以设置对象的onMessage、onClose等回调,同时提供了向客户端
发
送
数
据
send接口与关闭连接close接口,以及其它一些必要的接口。可以说Worker是一个监听容器,负责接受客户端连接,并把连接包装成connection对象式提供给开
发
者操作。
问答
wokerman运行一段时间,php
进
程占用100%
strace
进
程后
发
现陷入死循环 [attach]1854[/attach] 这是什么原因造成的?
问答
如何
制
作只能给udp使用的协议
手册上在介绍自定义协议时没有介绍该协议是在tcp下使用的还是udp下使用的,而我在看内置的协议时,
发
现有的协议指定连接必须是tcp对象,有的是连接的抽象对象,有的没有指定,如图,从上到下依次是text,还是说无论协议如何定
制
,想实现tcp或者udp的指定,都必须用worker的transport属性指定.
分享
从ThinkPHP6移植到Webman的一些技术和经验(干货)
、路由、中间键等 到
数
据
库、Redis的连接、使用释放 到 php-fpm释放资源、销毁所有类定义、实例、销毁符号表等 到 php-fpm将结果转
发
给nginx/apache 到 nginx/apache路由: a、TP的路由是一条条解析,匹配即
进
入,路由可重复定义;Webman稍有不同,定义时如果有相同路由,则控
制
台会报错无法启动服务(好处是及时能
发
现错误)。d、路由规则的第一个参
数
:Webman是 / 开头,而TP不是; e、TP的路由规则的第
二
个参
数
:TP是[控
制
器类, '方法'],TP是 字符串(包含目录、控
制
器名和方法)。f、都不匹配的路由:TP是route::miss,Webman是route::fallback; g、资源路由:第
二
个参
数
和 指定方法 稍有不同; h、TP的资源路由和Webman的资源路由名称对应,并调用构造函
数
;Webman可以在 config/app.php 中开启:'controller_reuse' => false,不推荐 action-hook 插件(有BUG); 附带我开
发
和移植的两个项目
问答
PHP Fatal error: Uncaught Error: Class '
GatewayWorker
\BusinessWorker' not found
PHP Fatal error: Uncaught Error: Class '
GatewayWorker
\BusinessWorker' not found in /var/www/html/Applications
问答
make:controller如何生成多应用的控
制
器文件
make:controller如何生成多应用的控
制
器文件,如我们要生成 \plugin\fengu\app\admin\Indexcontroller.php 该怎么做?
文档
getAllClientIdCount
getAllClientIdCount(void); ``` ``` (要求Gateway版本>=3.0.8) ``` [如何查看Gateway版本](get-gateway-version.md) 获取当前在线连接总
数
(## 注意 该方法的别名为```Gateway::getAllClientCount(void);``` ## 参
数
无参
数
## 返回值 返回一个
数
字 注意:如果是客户端断网断电等极端情况掉线,客户端的onClose回调可能无法及时触
发
,参见[onClose](on-close.md)说明。## 范例 ```php use \
GatewayWorker
\Lib\Gateway; class Events { ...onConnect($client_id) { var_export(Gateway::getAllClientIdCount()); } ... } ``` 打印出的
数
据
类似如下
问答
消息队列,消费者可以同时处理多条消息吗?
场景:同步第三方平台的产品
数
据
,比如
发
起同步某个账号的产品,一个账号下面的产品可以最少也有几千条,多达十几万的也有。 注:考虑第三方API是没有批量查询接口的。如果不能实现,我就打算放到REDIS list里,用wokerman的定时器读取redis来
发
送
异步http请求,如果失败就重新加到list里。另外在这样IO耗时的场景下,开启
进
程
数
量怎么计算会合适些?
问答
webman大文件切片上传,很慢
### 问题描述 项目中需要上传视频,一个视频150M左右,直传基本上都是上传失败,所以改成了切片上传,一个切片2M,这样上传一个视频就得
发
70多个请求。业务中一般至少要同时上传3个视频左右,总共
发
送
的请求在200多,3个视频传完,总耗时基本在4分钟左右。合并第
二
个文件,116M  5. 合并第三个文件,152M !2163526bb70748.png "合并第三个文件") 服务器是8核16G,`config/server.php`中的`count`配置的是`cpu_count() * 2`,在上传文件时,我看了下服务器的负载,只有两个
进
程的尝试过增加单个切片的大小,从而减少请求的
数
量,但总耗时差不多 2.
问答
如何使用 workerman 同时执行任务?
现在需要通过接口在 es 查
数
据
,
数
据
量较大,直接使用 PHP 查询,再处理后存库,时间较长。如何使用 workerman 开多个
进
程同时执行呢?每一次执行根
据
查询
数
据
的 offset 和 limit 可以拿到对应的
数
据
,这样就可以加速查询。
问答
webman最近
发
现一个问题
我(webman开
发
的)系统是多用户的使用的,A用户在后台上传文件的时候(文件稍稍大有好几M),B用户此时访问任何其他页面都会觉得系统很卡,感觉是任何一个阻塞久点的
进
程
发
生了,整个系统就会其他
进
程也会伴生阻塞
问答
channel组件的多个
进
程,如何实现每个
进
程处理不同的用户产生的订阅事件?
设置了$worker->count = 4;每个worker都作为channel组件的client连接了server,都订阅了某个事件.每次publish事件时候,四个
进
程都响应了这个事件。我只想要一个
进
程响应该事件。多用户请求同时出
发
publish事件时候分给这四个
进
程分别去处理。
问答
webman 的 monitor
进
程内存监控平滑重启好像并不平滑?
#### 问题描述 查阅代码
发
现内存达到重启条件后执行了`posix_kill($pid, SIGINT);`,看起来并不是`平滑的重启`,随后我对这个猜想
进
行了验证 #### 复现环境 1、将重启内存阈值调低到`30M`(memory_limit) 2、将内存检测周期由原来的`60s`改为`10s` 3、程序内有意加载更多的文件,并存储于静态
数
组中 以上3点都是在原规则下,尽快和频繁的触
发
内存超限重启 #### 重现问题的步骤 1、直接在触
发
重启的位置来个输出  2、监控
进
程的内存使用情况来核对触
发
情况 !
问答
workerman-statistics 客户端返回true,可以看到日记文件,可是后台探测
数
据
源为0,请问是什么问题,windows系统的
workerman-statistics 客户端返回true,可以看到日记文件,后台探测
数
据
源为0,请问是什么问题
问答
gatewayworker
两个不同app之间如何通讯
比如一个app是text协议 另一个app是wb协议 这两个app
gatewayworker
之间如何通讯?
问答
webman能不能实现类似laravel的控
制
器中间件
#### 问题描述 实现类似laravel的控
制
器中间件,有没有大佬提供个思路。
问答
大家有没有出现 偶尔响应慢的问题
没有业务逻辑 没有
数
据
库操作 没有redis操作 我开始以为是网络 或是 nginx 或是 浏览器 或是 mysql的问题 结果 curl 127.0.0.1:8787 还是卡顿 有时候需要等待20秒才能响应 情况是 : 第一次访问需要等待15秒 然后第
二
次 第三次 访问 就快了 等一段时间的第一次访问 又会慢 然后第
二
次 第三次 又会快起来 该访问只有这几行代码---------
« 上一页
1
...
148
149
150
151
152
153
154
155
...
429
下一页 »
« 上一页
151
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝