workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
如何用一台闲置电脑处理业务?
### 一台服务器用于维持连接,当用户
发
送
请求时转
发
给闲置电脑,处理完再
发
送
给用户
问答
webman怎么部署多站点?
服务器已经部署了一个站点(8787端口) 部署第
二
个站点, 是不是在框架里面把8787端口改成8788, 然后
进
入这个站点启动webman, 再改nginx配置8788,就可以了?
问答
刚学习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(或者循环广播),
发
送
给客户端。
问答
直接贴代码
self::$_status = self::STATUS_RUNNING; while(1) { // 如果有信号到来,尝试触
发
信号处理函
数
pcntl_signal_dispatch(); // 挂起
进
程,直到有子
进
程退出或者被信号打断 $status = 0;$pid = pcntl_wait($status, WUNTRACED); // 如果有信号到来,尝试触
发
信号处理函
数
pcntl_signal_dispatch(); // 有子
进
程退出 if($pid > 0) { // 查找是哪个
进
程组的,然后再启动新的
进
程补上false); // ignore pcntl_signal(SIGPIPE, SIG_IGN, false); } /** * 为子
进
程重新安装信号处理函
数
问答
队列中调用控
制
器方法时,不能获取到plugin名称吗?
多应用插件时 我在queue中 写代码 调用testB插件应用的控
制
器方法: $p = new \plugin\testB\app\controller\Template; $p->help();
问答
joinGroup加入群组的问题
大佬们,问一下,joinGroup加入群组以后,怎么判断用户是否加入了该群聊,我用的
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
问答
如果需要用PHP搭建一个以HTTP形式访问的API接口,以下哪种方式搭建性能上会更有优势?
####下面的方式
二
选一。需要在低配服务器,高频,高并
发
的极限运行环境下哪种最有性能优势,最稳定? A、传统Nginx + php-fpm B、利用Workerman + Nginx反向代理
问答
think\Cache 对比 redis缓存 性能差异有多大
每1小时大概就要
进
行1次缓存几百万
数
据
文件,都带有时效性(1分钟 - 1小时) 我在纠结redis 还是 file
问答
关于WORK
进
程连接GATEWAY的问题
Worker
进
程得到所有的Gateway内部通讯地址后尝试连接Gateway 那么是每个WORKER
进
程都连接到所有GATEWAY上,还是每个WORK
进
程平均分配到各个GATEWAY上,这段相关逻辑在哪里看啊
分享
AI 用wokerman 实现的 mqtt 服务器 大家看看能不能用
// 创建Worker实例,监听1883端口 $worker = new Worker('tcp://0.0.0.0:1883'); // 设置
进
程
数
echo "=== MQTT服务器启动成功 ===\n"; echo "监听地址: tcp://0.0.0.0:1883\n"; echo "
进
程
数
public function onMessage(TcpConnection $connection, $data) { try { // 解析MQTT
数
据
包$packet) { echo "[" . date('Y-m-d H:i:s') . "] 无法解析MQTT
数
据
包\n"; returnconnection, $topic, $messageInfo['message'], $messageInfo['qos']); } } /** * 解析MQTT
数
据
包
文档
workemran/mqtt
workerman\mqtt 是一个基于workerman的异步mqtt 客户端库,可用于接收或者
发
送
mqtt协议的消息。支持`QoS 0`、`QoS 1`、`QoS 2`。* `$options` 客户端选项
数
组,可以设置以下选项: * `keepalive`: 客户端向服务端
发
送
心跳的时间间隔,默认50秒,设置成0代表不启用心跳 * `client_id当订阅成功或者
发
生错误时触
发
* `exception` 异常对象,无错误
发
生时它是`null`,下同 * `granted` 订阅结果
数
组,类似 `array('topic' => 'qos'---------------------- <a name="disconnect"></a> ### disconnect() 正常断开与Broker的连接, `DISCONNECT`报文会被
发
送
到Broker的连接,不会
发
送
`DISCONNECT`报文给Broker. ------------------------------------------------------- <a name
问答
关于聊天记录存
数
据
库的问题 是应该在前台通过AJAX入库再
发
送
给workerman还是应该在workerman中入库? 这两个有区别吗?
问答
认证失败,怎么主动断开当前连接
[attach]2303[/attach] 相机连接socket,
发
现不是
数
据
库中的相机时,怎么主动断开该相机和我的服务端的连接
问答
laravel框架使用gateway-client时,偶尔出现卡顿情况
经过排查源码,
发
现是gatewayclient/Gateway.php这个文件的如下图方法中,陷入死循环,到了超时时间5秒后退出循环。$client_address_map = $receive_buffer_array = $recv_length_array = array(); // 批量向所有gateway
进
程
发
送
请求
数
据
4)); } return $format_buffer_array; } ``` #### 期待的结果及实际结果 希望各位大佬帮忙看看,是什么原因导致
进
入死循环
问答
本人使用GatWay集成在TP5当中,自己搭建的控
制
器,然后再根目录下启动报错问题
[](//www.workerman.net/upload/20210429/29608a70b4e663.jpg) 本人使用GatWay集成在TP5当中,自己搭建的控
制
器,然后再根目录下启动start.php
问答
求助 无法读取配置文件 getenv返回false $_ENV 返回空
数
组
macbook PHP 8.3.11 (cli) (built: Aug 27 2024 19:16:34) (NTS) 之前在windows下没有问题 但是换到macbook后
发
现启动不起来 检查后
发
现是配置文件读取不到检查了禁用函
数
没有
发
现问题 另外查询了问答
发
现有使用$_ENV读取的 但是尝试打印
发
现还是空 打印$_SERVER没有看到相关键值
问答
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;
问答
【新手问题】websocket多
进
行,同一个用户,不中断连接,会不会分配到其它
进
程中处理
websocket服务端,假设开了8个
进
程,用户A连接上,由1号
进
程处理,在不中断连接的情况下,如果1
进
程负载过大,会不会把用户A转移到其它
进
程中处理。
« 上一页
1
...
202
203
204
205
206
207
208
209
...
451
下一页 »
« 上一页
205
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝