workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
gatewayworker设置的worker数量太多,导致require_once文件失败
一个基于gatewayworker框架的服
务
器程序,我设置了5个gate, 10个worker,然后一个含5个worker的客户端,每个worker发起1000个连接到服
务
器,发现服
务
器报require_once文件失败,是从autoload.php调用起来的,竟然 会出现这种
事
!
问答
服
务
器如何接收DTU发到端口的数据
硬件DTU在与服
务
器建立了socket连接以后,代码如下: 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ```php <?/workerman-for-win-master/Autoloader.php'; // 创建一个Worker监听2347端口,
不
使用任何应用层协议 $tcp_worker = new Worker("tcp://0.0.0.0:2000"); // 启动4个进程对外提供服
务
$tcp_worker->count = 4; // 当客户端发来数据时 $tcp_worker->onMessage如何接收硬件发送到服
务
器端口的数据,或者把数据输出来(输出到控制台)。 请大神赐教
问答
WebSocket在服
务
器本机可以连接,公网连接 失败
var ws = new WebSocket("ws://127.0.0.1:9090"); 在服
务
器本机可以连接; 公网连接失败 var ws = new WebSocket("ws://www.//www.域名.com:9090/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED 公网连接 失败 是
不
是因为我网站是http而
不
是https原因???
问答
webman,请问model层怎么设置cookie?
by (output started at F:\php\webman-admin\vendor\workerman\webman-framework\src\Route.php:265) ``` 返
回
是在控制器Response返
回
的,但是我想先在模型层设置cookie后,后续处理一些业
务
。
问答
在Events类中定义了public static $historyDataList=array();怎么能在业
务
代码里面访问
在Events类中定义了public static $historyDataList=array(); 请问在业
务
逻辑处理代码中向这个数组push值,但是为什么只有一个值,业
务
代码
不
能访问这个变量吗
问答
只能存在一个定时器吗
在每次onconnect中设置了定时器 但是后面的那个定时器好像会覆盖前一个 最后只有一个起
效
果吗? 还是我使用的
不
对?能
不
能给每一个客户端设置定时器?
问答
gateway分离部署,客户端无法收到服
务
端的消息【已解决】
php8 使用容器部署的 做为接收ws请求和注册business的服
务
,php81是使用容器网络定义的IP  business服
务
,主要处理业
务
!本人的部署是:PHP81运行gateway服
务
和register服
务
,php82运行BusinessWorker服
务
。 需要使用容器的IP就
不
会出现这个问题了。
分享
OSS 直传阿里腾讯示例
今天 Q 群有朋友说
不
会 OSS 直传,那我就来写个例子吧。欢迎兄弟们探讨交流。 # 0.通常前端先上传到服
务
器,然后通过服
务
器再上传到OSS,即中传了一次。'/1.php'), 'ContentType' => 'text/plain', ]); } ``` ## 1.3 前端直传文件到OSS ### 1.3.1 服
务
器先
生
成签名表单formAttributes); // print_r($formInputs); return [$formAttributes, $formInputs]; } ``` 返
回
的## 2.2 前端直接上传文件 ### 2.2.1 服
务
器先
生
成签名表单 ```php function buildForm(\Aws\S3\S3Client $s3client): array {
问答
在windows服
务
器上跑workerman-chat-for-win下面的start_for_win.bat这个程序就出现由于系统缓冲区空间
不
足或队列已满,
不
能执行套接字。
服
务
器上的端口全部被2300端口占用了
问答
关于workerman的工作模式
#### 问题描述 workerman的工作模式
不
就是swoole的单线程模式(SWOOLE_BASE)吗?在reactor模型的单线程模式的某个线程中,如果
回
调函数或者叫
事
件处理函数十分耗时,那么就无法执行到epoll_wait,于是无法立即处理后面的
事
件 情况1:设置workerman的count=1,那么只有一个逻辑CPU在处理所有请求,如果一个请求执行耗时操作中,那么下一个请求就进
不
来; 情况2:设置workerman的count=n(>1),对应于多个reactor单线程模式。假设某个worker进程(该进程是单线程的)的
回
调函数执行了耗时的操作,但是下一个请求可以负载均衡分配到其它的worker进程(该进程是单线程的),还是可以立即响应的。我的理解是对的吧?#### 代码 情况1:count=1,
回
调函数handle_message中sleep(100) ``` <?
问答
怎么处理定时任
务
中延时引起的进程挂起
使用 GateWay ,在 onWorkerStart 建立了一个定时任
务
,循环向客户端发送数据,由于客户端的某些特性,在向相邻的2个客户端发送数据中间必须加入延时,这时发现 onMessage
不
响应了此时怎么做并行任
务
,就是发送 与 接收并行处理??
问答
如何保存GatewayWorker实时检测硬件在线状态
能用GatewayWorker获取到硬件的心跳包了,我现在在数据库中筛选出需要检测的设备号码,有可能有几千几万的数据量,如何有
效
的去实时检测,这些设备的在线状态?前期方案,筛选出来的数据是一个数组,在检测到硬件发送来过的心跳包之后,用循环去查询数组中是否存在该设备号码,如存在,修改状态(默认状态为离线),但是如果用循环去比较的话,是
不
是
效
率
不
高啊
问答
wokerman有没有微服
务
应用啊
wokerman有没有微服
务
应用啊 如题 看了一下微服
务
概念,感觉有点像gateway,有点想自己写一个基于wokerman的微服
务
应用
问答
请问这种游戏服
务
器架构是否可行?目的是想要尽量提升单服可容纳玩家量。
/question/1242 这两个关于处理繁重任
务
和游戏服
务
器架构问题的问答。设想出如上图中的游戏服
务
器大概架构。这样设计主要是想在单台服
务
器承载
不
了的时候可以把掉落,战斗,AI一类的高负载任
务
独立到其它服
务
器来分布式处理从而提高单服玩家容量。现在有3个问题
不
太明白: 1.假设我随机掉落由10个worker组成,AsyncTcpConnection能够自动根据worker的负载把任
务
合理的分配给这10个worker处理吗?2.使用AsyncTcpConnection来连接使用任
务
处理进程合理吗?是否使用或者结合Channel组件更好? 3.这样设计,进程间通讯会十分频繁,会
不
会反而得
不
偿失呢?
不
知道这种架构是否可行,请walkor老大和各位大神指点。
问答
关于 webman,
生
产使用
1. 常驻内存,所以相较于传统的php-fpm架构,性能,要好很多 2. 但本质上,还是属于同步阻塞模式吧,没有类似swoole中协程的东西? 3. 之所以性能相较传统php-fpm架构高,只是因为常驻内存吗? 还有其他原因吗? 4. 如果是常驻内存的,很多第三方库,可能会有大量的静态使用,用在webman里 应该会有内存问题吧? 因为对workman的认同,现在又出来一个webman 公司,新项目,我们在考虑,是否用webman 毕竟是一个新东西,有用过的,聊聊吗?
问答
gatewayworker类里面的鉴权能够有
效
防止别人通过其它工具连接socket服
务
端吗?验证HTTP_ORIGIN是否可靠
$connection->onWebSocketConnect = function ($connection, $http_header) { // 可以在这里判断连接来源是否合法,
不
合法就关掉连接
文档
Gateway类的使用
``` 注意 ```:GatewayWorker
不
支持监听Http协议。但是可以在业
务
中以客户端的形式通过http协议(比如curl)访问远程服
务
器。[多服
务
器分布式部署](how-distributed.md)的时候需要填写真实的内网ip,
不
能填写127.0.0.1。当本机有多个Gateway/BusinessWorker项目时,需要把每个项目的startPort设置成
不
同的段 6、registerAddress,注册服
务
地址,格式类似于 '127.0.0.1:1236和Worker一样,可以设置Gateway进程启动后的
回
调函数,一般在这个
回
调里面初始化一些全局数据 9、onWorkerStop 和Worker一样,可以设置Gateway进程关闭的
回
调函数,一般在这个
回
调里面做数据清理或者保存数据工作 10、onConnect(比较少用到,开发者一般
不
用关注) 和Worker一样,可以设置onConnect
回
调,当有客户端连接上来时触发。
问答
远程重启workerman 日志没有输出
我用控制机,ansible工具同时重启几台workerman,workerman.log里有重启的日志,但是业
务
日志没有输出,只有在本机执行重启命令,才会有日志输出,这样
效
率太慢了,请问这是哪里的问题
问答
大佬们怎么用thinkphp8整合workerman的http服
务
来运行api?
#### 问题描述 我现在是用命令行启动了http服
务
,并在onmessage中执行tp的http,但是一直访问到控制器index下面的index方法,其他api更换路由也无法访问。 ``` <?监听2345端口,使用http协议通讯 $http_worker = new Worker("http://0.0.0.0:2345"); // 启动4个进程对外提供服
务
$http_worker->count = 4; // 接收到浏览器发送的数据时
回
复hello world给浏览器 $http_worker->onMessage
问答
Cache 中set到华为云redis服
务
的值乱码
[](/upload/img/20240719/19669a03431b0e.png) 环境部署1: webman服
务
在华为云服
务
器,操作系统版本信息:Linux version 3.10.0-1160.108.1version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Jan 25 16:17:31 UTC 2024 环境部署2: webman服
务
在阿里云服
务
器20200825 (Alibaba 10.2.1-3 2.32), GNU ld version 2.35-12.2.al8) #1 SMP Mon Feb 6 14:54:50 CST 2023 redis服
务
使用的是华为云的redis服
务
。现在的解决办法是,
不
用cache,直接使用:composer require -W illuminate/redis illuminate/events 存储,没有前缀。
« 上一页
1
...
105
106
107
108
109
110
111
112
...
461
下一页 »
« 上一页
108
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝