workerman
首页
问答
分享
手册
市场
商业
客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
认证失败,怎么主动断开当前连接
[attach]2303[/attach] 相机连接socket,
发
现不是
数
据
库中的相机时,怎么主动断开该相机和我的服务端的连接
问答
wokerman-JSONRPC
StatisticClient::report($class, $method, $success, $code, $msg, $statistic_address); //
发
送
数
据
给客户端
问答
把workerman整合
进
项目
刚接触workerman,windows版本怎么整合
进
自己的聊天室项目,目前自己的聊天室是靠刷新的,求大神
问答
windows下gateway会接收不到客户端的心跳包
客户端是用GPRS模块的一些机器,会定时20秒
发
一次心跳去服务器。服务器搭建的是windows的
gatewayworker
。刚开始启动
gatewayworker
时能看到机器正常的跟服务器连接通讯。但是过了一段时间后就看不到机器的心跳包了,要重新启动
gatewayworker
才行,然后还是这样。反正就是要隔一段时间重启一次
gatewayworker
才行。请问各位大神遇到过类似的问题吗?
文档
性能
框架初始化,如实例化各种类,包括如容器、控
制
器、路由、中间件等。 9. 框架连接
数
据
库并权限验证,连接redis 10. 框架执行业务逻辑 11.框架关闭
数
据
库、redis连接 12. php-fpm释放资源、销毁所有类定义、实例、销毁符号表等 13. php-fpm顺序调用各个扩展/模块的RSHUTDOWN方法 14. php-fpm将结果转
发
给可以说这已经是php框架的极致,这使得webman性能是传统框架的几倍甚至
数
十倍。 更多参考 [压力测试](benchmarks.md)
文档
性能
框架初始化,如实例化各种类,包括如容器、控
制
器、路由、中间件等。 9. 框架连接
数
据
库并权限验证,连接redis 10. 框架执行业务逻辑 11.框架关闭
数
据
库、redis连接 12. php-fpm释放资源、销毁所有类定义、实例、销毁符号表等 13. php-fpm顺序调用各个扩展/模块的RSHUTDOWN方法 14. php-fpm将结果转
发
给可以说这已经是php框架的极致,这使得webman性能是传统框架的几倍甚至
数
十倍。 更多参考 [压力测试](benchmarks.md)
文档
透过代理获取客户端真实ip
**原理:** nginx/apache将客户端真实ip通过http header传递
进
来,例如nginx配置中location里的加上```proxy_set_header X-Real-IP $remote_addrworkerman通过读取这个header值,将此值保存到```$connection对象里```,(
GatewayWorker
可以保存到```$_SESSION```变量里),使用的时候直接读取变量即可其它协议要获取客户端ip方法类似,需要代理服务器在
数
据
包插入一段ip
数
据
透传真实客户端ip。时,直接使用$connection->realIP即可 $connection->send($connection->realIP); }; Worker::runAll(); ``` **
GatewayWorker
省略其它代码.... } ``` 代码加完后需要重启
GatewayWorker
。
问答
ws分布式部署sendToGroup的疑问
#### 问题描述 我有两台服务器A和B,都部署了webman,并且使用gateway worker提供ws服务,A和B都有gateway、register、gateway worker几种
进
程,register现在我想在A中向B的ws用户组
发
送
消息。 !18652f99813583.png) 我在A的http接口中使用了gateway client包,register address 填写的是A的register地址:`127.0.0.1:1236`,但是消息无法推
送
到B服务器的ws用户 我看了源码,按照我的理解,A的register
进
程里面应该也是保存了B的gateway地址的,难道我gateway client的register address要写两个吗:`A
问答
workerman第一次启动时正常,再次启动报错,大神帮忙看看
[attach]2045[/attach] [attach]2046[/attach] 第一次启动正常,在启动一下就报错了,杀掉
进
程再启动一次就正常然后在一次就报错 我另一台服务器第一次启动正常,第
二
次启动也提示正在运行
问答
多库事务问题,2个库同时提交或同步滚回
#### 问题描述 我要
进
行多库操作时,事务是不是这样的,会不会存第一个提交成功,第
二
个提交失败,导致第一个不能滚回 ```php Db::connection('api_log')->beginTransaction
问答
前端刷新后无法使用
ws_worker = new Worker("websocket://0.0.0.0:2346"); Worker::$logFile = '/home/workerman.log'; // 启动4个
进
程对外提供服务$ws_worker->count = 4; $ws_worker->onConnect = function($connection) { echo 1; // 设置当前连接的应用层
发
送
缓冲区大小为function($connection, $code, $msg) { echo 3; $connection->send("error $code $msg\n"); }; // 当收到客户端
发
来的
数
据
后返回
问答
自定义http
进
程无法ab压测
#### 问题描述 我在webman项目中做了一个插件:dialString, 由于该插件存在慢业务处理,所以在dialString插件中自定义了一个http
进
程 但是我定义的http服务无法
进
行ab[截图](/upload/img/20231206/06656fddc9279c.png) - 自定义
进
程处理的http服务,压测失败  #### 为此你搜索到了哪些方案及不适用的原因 - 怀疑是http自定义
进
程中,我没有正确的处理响应之类的,参考Webman\App,但是依旧找不到缺了哪些 - 自定义http
进
程中,直接onMessage()返回了200,截图如下 !
问答
gateworker 分布式部署延迟好几分钟
分布式部署延迟好几分钟 register 和 gateworker mysql 一台服务器简称A ,businessworker 单独一台 简称B,目前 B onmesseage 接受到消息比客户端
发
送
的消息晚了好几分钟[ 2023-11-11T17:31:58+08:00 ][ log ] 请求参
数
:{"command":,"api_version":"","data":{"addr":"","cpuname":"upload/img/20231112/1265506589ef9d.png) 其中A服务器启动的start_register 和 start_gateway 目前调的 start_gateway
进
程是8个 B服务器启动的是 start_business
进
程是128 个 A 服务的status !
问答
Webman的Redis队列服务是否可以用阿里云Redis集群架构和读写分离架构?
#### 阿里云Redis云
数
据
库 (集群版); 参考文档:https://www.alibabacloud.com/help/zh/apsaradb-for-redis/latest/limits-on-commands-supported-by-cluster-instances根
据
如上阿里云的描述,使用阿里云集群架构时,一些LIST命令如: RPOPLPUSH、BRPOP、BLPOP、BRPOPLPUSH 都是不完全支持的; 目前使用Webman的Redis队列插件(httpsRedis读写分离架构,也有相应的一些限
制
,参考连接: https://www.alibabacloud.com/help/zh/apsaradb-for-redis/latest/limits-on-the-commands-supported-by-read-or-write-splitting-instances
问答
如何创建多个子
进
程
die('could not fork'); } else if ($pid) { pcntl_wait($status); //等待上一个
进
程结束unset($clients); socket_close($v); exit;//关闭子
进
程} } } } } socket_close($socket); ``` 这样创建完之后,只有一个子
进
程
问答
js回调时更新用户状态的问题
data.user_id; layim.setFriendStatus(uid, 'offline'); //修改
数
据
库// console.log(data); // }); break; 想着在用户退出事件中改下
数
据
库,用了$.post
发
现刷新页面时,AB两个浏览器互换了session,原本A浏览器登录的用户A,B浏览器登录的用户B,刷新下就变成了A登录B,B登录A,换成$.ajax问题依旧,去掉了就又恢复正常.还是我应该在Events.php这里边改
数
据
库
文档
defaultMaxPackageSize
如果
发
来的
数
据
包解析(协议类的input方法返回值)得到包长大于```Connection::$defaultMaxPackageSize```,则会视为非法
数
据
,连接会断开。'/vendor/autoload.php'; // 设置每个连接接收的
数
据
包最大为1024000字节 TcpConnection::$defaultMaxPackageSize = 1024000;
问答
以守护
进
程daemon方式启动后,报错不能启动
stdoutFile文件 Fatal error: Uncaught Exception: Can not open stdoutFile /dev/null in /home/315sj/315sj_web_php/
GatewayWorker
问答
刚学习gateway, 分析了一下,不知道对不对
一个business会链接所有注册的gateway]) 一个gateway中的webSocketServer[对外服务], innerTcpServer[对businessWorker],他们在一个
进
程中一个线程内webSocketServer,会根
据
分组,归并fd(client_id)· 流程大致是gateway中, webSocketServer获取client消息,通过innerTcpServer的(句柄)找一个fd,
发
给business,bussniess处理消息,(封装返回消息payload,广播给所有gateway中的innserTcpServer,innerTcpServer判断消息是否需要给客户端返回,需要的话,找到和自己一个
进
程中一个线程内webSocketServer(句柄,以及webSocketServer的fd(或者循环广播),
发
送
给客户端。
问答
[已经解决]为什么用redis会报错呢,我看了PHP CLI有redis扩展
错误如图 [attach]651[/attach] 在论坛搜了下redis根
据
提示我看了下PHP CLI是有redis的 [attach]652[/attach] 还有请问这个php版本可以控
制
吗?phpinfo里面是PHP Version 7.0.12 但是在这个控
制
台看到的依然是5.6.1不知道跟这个是否有关系?
« 上一页
1
...
196
197
198
199
200
201
202
203
...
432
下一页 »
« 上一页
199
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝