workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
为什么同样的代码,在本地可以joinGroup而到了服
务
器上就
不
能joinGroup呢?
为什么同样的代码,在本地可以joinGroup而到了服
务
器上就
不
能joinGroup呢?25774 1.75M text://127.0.0.1:13001 TimeWorker 0 0 0 0 ``` 服
务
器上没有之外
不
知道为什么服
务
器上没有呢?或者是有什么其他原因导致的呢?1.75M text://127.0.0.1:13001 TimeWorker 0 0 0 0 ``` 在服
务
器上的
问答
对照文档发送给指定ID,发送
不
出去,求助!~
json_decode($data->post('msg'),true); //$io->to($data->post('uid'))->emit('push', $adc);//这个试了
不
起
效
果只能这样群发了 前端根据用户的ID 从推送的数据里捡起属于自己的 ``` $io->to($data->post('uid'))->emit('push', $adc); 但是这样发送前端(前后分离)接收
不
到
分享
基于开源workerman开发的在线客服系统源码-99客服
* 支持目前流行的AI大模型,实现了AI智能客服功能,可以将对话托管给AI机器人客服,设置知识库,让AI自动根据知识库
回
复用户的提问,极大的减轻了客服负担 * 支持20个国家的语言,支持大模型翻译 *支持智能分流 * 支持发送文字、语音、表情、图片、文件 * 支持微信公众号/微信小程序 * 支持客服分组 * 支持客服转接 * 支持设置客服常见问题 * 消息提醒 * 已读
回
执 * 消息撤
回
* 黑名单**全栈开源架构** - 基于Workerman/Webman框架开发,超高性能,超告稳定性 - Websocket双工通讯,性能好、无延迟、
不
丢消息 - 客服源码开源未加密,无部署限制| |----------------|----------|-----------------------| | 微信小程序 | ✅ | 原
生
消息通知[客服系统
效
果预览图](/upload/img/20250819/1968a3cdffc1e7.png) !
问答
Event类里面的清理问题[已解决]
在Libevent.php 和 Event.php里面的del方法,对于case self::EV_READ: 都
不
做处理。我看前面读
事
件也都是存到了数组里。关闭链接了,
不
用清理吗?
问答
GatewayWorker 客户端心跳和服
务
端心跳同时开启的问题
#### 问题描述 GatewayWorker 客户端心跳和服
务
端心跳同时开启的情况下,当服
务
端收到客户端的心跳后貌似
不
会发送ping给客户端,是
不
是服
务
端的心跳是没有收到客户端的心跳时才主动发送给客户端的我的设置是客户端40秒发送ping,服
务
端如下配置,发现pingInterval要小于40服
务
端才会发送ping给客户端。Websocket://0.0.0.0:8585"); $gateway->pingInterval = 55; $gateway->pingNotResponseLimit = 1; // 服
务
端定时向客户端发送的数据
问答
请问,服
务
器端运行gatewayWoker和本地一样吗?
本地运行毫无问题,上传到服
务
器就运行
不
了,就是想问也是在服
务
端用命令行运行那三个php文件吗?我服
务
器当前的php版本是php5.2.17,但是我给网站配置的是5.6,问啥他会运行5.2呢?
问答
workman进程中是单线程么
rt,workman 进程是单线程么,就是轮询和执行
回
调, 是会冲突么?如果我只启动一个进程的话, 是
不
是无论timer 还是 onmessage 中的
回
调, 都是按顺序一个一个执行的,处理数据都
不
需要加锁?谢谢~~~以前用c++, 刚开始接触php开发游戏服
务
器, 考虑的互斥有些多
问答
想把workerman改成WINDOWS服
务
程序可行吗?方案如下。
workerman在WINDOWS下用命令行启动,有点
不
方便。想改成WINDOWS服
务
程序方式运行.) { if (WIN32_SERVICE_CONTROL_STOP == win32_get_last_control_message()) { die("服
务
已停止; } } } ```
不
知道可行
不
?如果可行对性能有影响没?
问答
为什么我关闭客户端,服
务
端就
回
抛出异常
采用的wss ```php ArgumentCountError: Too few arguments to function {closure}(), 1 passed in /home/wwwroot/face/vendor/workerman/workerman/Connection/TcpConnection.php on line 931 and exactly 2 expected in /home/wwwroot/face/start.php:88 Stack trace: #0 /home/wwwroot/face/vendor/workerman/workerman/Connection/TcpConnection.php(931): {closure}(Object(Workerman\Connection\TcpConnection)) #1 /home/wwwroot/face/vendor/workerman/workerman/Connection/TcpConnection.php(834): Workerman\Connection\TcpConnection->destroy() #2 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(2457): Workerman\Connection\TcpConnection->close() #3 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(1866): Workerman\Worker->stop() #4 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(1183): Workerman\Worker::stopAll() #5 /home/wwwroot/face/vendor/workerman/workerman/Events/Select.php(162): Workerman\Worker::signalHandler(2) #6 [internal function]: Workerman\Events\Select->signalHandler(2, Array) #7 /home/wwwroot/face/vendor/workerman/workerman/Events/Select.php(261): pcntl_signal_dispatch() #8 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(2430): Workerman\Events\Select->loop() #9 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(1554): Workerman\Worker->run() #10 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(1384): Workerman\Worker::forkOneWorkerForLinux(Object(Workerman\Worker)) #11 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(1358): Workerman\Worker::forkWorkersForLinux() #12 /home/wwwroot/face/vendor/workerman/workerman/Worker.php(542): Workerman\Worker::forkWorkers() #13 /home/wwwroot/face/start.php(92): Workerman\Worker::runAll() #14 {main} Workerman[start.php] stopping ... worker[none:30077] exit with status 64000 Workerman[start.php] has been stopped ```
问答
关于redis队列,webman程序多机部署并行消费问题
我们要使用redis队列来发放微信红包,但是微信商户要求每秒最多发放30个,之前我们是单机单进程没出问题,负载均衡后,里面放了5个服
务
器,每个服
务
器单个进程来发放红包出现大面积提示发放频率超限的提示,想知道怎么能只限制某一个服
务
器运行30个,之前我们是单机单进程没出问题,负载均衡后,里面放了5个服务器,每个服务器单个进程来发放红包出现大面积提示发放频率超限的提示,想知道怎么能只限制某一个服务器运行redis队列,翻文档好像没提这个
事
分享
upstream timed out (110: Connection timed out)
Nginx请求报错问题分享近期发现服
务
器一直报请求超时 **upstream timed out (110: Connection timed out)** **首先排查是
不
是数据库死锁导致的请求超时,后面排查了下没发现有
事
务
锁问题。📉 **超出带宽限制,导致出网流量受限** **入网带宽(下行):** - 峰值:**20.967 Mbit/s** - 时间:2025/06/11 09:50 - 虽未受限制,但可能间接导致服
务
器处理能力饱和如果是同类问题的话,建议将服
务
器改成按量付费50Mbit/s或以上,来解决这个问题。### # **以上是个人经验分享,如果有
不
同意见的小伙伴也可以发表下意见让我吸取下经验**
文档
中间件
## 请求拦截 有时候我们
不
想某个请求到达控制器层,例如我们在middleware2发现当前用户并没有登录,则我们可以直接拦截请求并返
回
一个登录响应。,响应从middleware2穿越
回
中间件1然后返
回
给客户端。这里省略其它中间件 app\middleware\AuthCheckTest::class, ] ]; ``` 有了身份验证中间件,我们就可以在控制器层专心的写业
务
代码,
不
用就用户是否登录而担心请求,我们
不
想OPTIONS请求进入到控制器,所以我们为OPTIONS请求直接返
回
了一个空的响应(`response('')`)实现请求拦截。uid')); // 111 } return $handler($request); } } ``` > **注意** ## 中间件获取异常 业
务
处理过程中可能会产
生
异常
问答
多客户端连接问题
现在有这样一个问题,有两个客户端(就叫A和B)通过tcp长连接到gatewayworker服
务
器。服
务
器在返
回
给客户端的数据的时候
回
出现这样一个问题,本应该返
回
给A的数据却返
回
给了B,请问这是什么原因呢?是我的逻辑写的有问题吗?
问答
关于 协程 概念的一些疑惑
#### 为此你搜索到了哪些方案及
不
适用的原因 关于 进程 的概念,无论是fpm,还是守护进程 workerman,都是一个进程处理一个请求,当 进程数量 处理
不
过来很多的请求的时候,会阻塞。我有以下猜想: 举个例子,业
务
逻辑是这样的: 一个请求过来后,首先,需要 4 秒钟调用第三方接口A,需要 4 秒钟调用第三方接口B,拿到A和B接口返
回
的数据后,需要2秒钟进行A和B接口返
回
数据的组装是
不
是这 5个进程可以同时
生
成5个协程来处理呢?还是说 5个进程,同一时间内,只能有一个协程在处理?
问答
workerman-thrift-rpc 怎么一个端口多个服
务
ThriftWorker('tcp://0.0.0.0:9090'); $hello_worker->count = 16; $hello_worker->class = 'HelloWorld'; ``` 能
不
能在一个端口监控两个服
务
问答
GatewayWorker使用两个websocket连接session丢失
SESSION = $client_id; ``` 在message里的接收第一条信息里会在成功后删除定时器,但是**$_SESSION会有时候为空,而且只在多个websocket同时连接时会发
生
,单独一个
不
会发
生
(我是同时连接两个websocket,一直刷新页面就会出现这个问题)** 因为业
务
逻辑以后还会更多个,甚至5-10个websocket服
务
器,求大佬求救啊!
问答
webman-admin 下拉菜单如果设置必填项会报错,必填
不
能为空,附解决方法
使用webman-admin当一键
生
成菜单时,设置了必填项,即使选择选项也会报错 必填
不
能为空 解决方法: 去掉下拉菜单的 required lay-verify="required" 在js里面 `
问答
请教webman2.1源码数据库连接池的实现原理和协程文档章节提到的,使用协程驱动时
回
调会自动创建一个协程来执行的疑问
#### 请教webman2.1源码,数据库连接池的实现原理 webman2.1支持了协程,文档里数据库这节,写到“每个进程有自己的连接池,进程间
不
共享连接池。”1、请教社区大牛,2.1版本是怎么做到每个进程有自己的连接池,进程间
不
共享连接池的?源码看
不
懂,有没有大牛帮忙解析分析一下关键代码。2、文档提到,当使用Swoole Swow Fiber驱动时,workerman每次运行onWorkerStart onMessage onConnect onClose等
回
调时会自动创建一个协程来执行default: (new \Fiber($callback))->start(); } } ``` 只有run方法中的onWorkerStart
回
调中新建了协程,没有看到其他
回
调中新建协程,请大佬指教!!!
问答
workerman3.X怎样捕捉到全局错误,然后自动重启或load所有服
务
?
我有一个服
务
是
不
断的从一台sybase服
务
器抓取数据,,有时候sybase把连接踢出来,导致程序出错,能
不
能捕捉到这个错误,就自动重载服
务
?
问答
跨运营商
不
能正常访问的问题
我的gatewayworker服
务
器是部署在电信的服
务
器上的,用电信网的终端(包括电信宽带、4G网络)都可以正常通信,但是终端一换到移动的网络(比如移动宽带),就通信
不
正常了,总是报错onclose,只有很少的次数能通信正常,99%都
不
行!难道
不
能支持跨运营商服
务
« 上一页
1
...
94
95
96
97
98
99
100
101
...
477
下一页 »
« 上一页
97
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝