workerman
首页
问答
分享
手册
市场
商业
客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
关于
GatewayWorker
心跳包pingNotResponseLimit设置为0还是会被断开的问题
pingInterval设置为5 pingNotResponseLimit设置为0 pingData设置为'{"type":"ping"}' 项目运行时,每隔5秒左右服务端就会向客户端
发
送
心跳包,但还是每隔近
分享
webman框架源码修改及性能优化(
二
)
### webman-framework/src/App.php几处性能优化(建议官方修改) 不是鸡蛋里挑骨头,webman本身就是出于对性能的追求,所以应要该精于求精,改
进
任何不太合理的地方。1. guessControllerAction(...)这个方法,在foreach循环中用了array_merge,array_merge这个方法性能并不是很好,另一个问题是
进
行了两次foreach循环【强烈建议官方修改】getController(...)这个方法,两次
进
行scandir遍历目录和文件,webman可能是考虑了各种奇葩目录和文件命名方式,但规范就是规范,这个限定,规范后代码写起来更简洁
问答
webman中的自定义
进
程中需要用到Channel\Server服务,如何一起启动
#### 问题描述 想在webman中一起启动一个Channel\Server
进
程,现在单独文件(a.php)启动是这样: use Workerman\Worker; require_once __DIR'/vendor/autoload.php'; // 不传参
数
默认是监听0.0.0.0:2206 $channel_server = new Channel\Server(); if(!defined('GLOBAL_START')) { Worker::runAll(); } 然后 php a.php start -d 如果想在 webman 中启动时一起启动,写在自定义
进
程的onWorkerStart 函
数
下面,会不会启动多了一个
进
程?(Worker $worker) { $channel_server = new Channel\Server(); } } 请问这样会创建了两个
进
程吗,该如何在webman启动时一并创建
问答
为什么我的PHPworkman程序中医用json_decode 就
发
生错误
```php $ws_worker->onMessage = function($connection, $data) { // 向客户端
发
送
hello $data $m=Array("
问答
🚀webman官方admin管理后台意见收集
应用插件等等) - 自带一个用户表(实现个应用插件用户互通) 最终效果就是开
发
者需要哪些功能可以在管理后台像搭积木一样安装相应的应用插件,并且这些应用插件用户
数
据
是互通的,统一在webman管理后台管理官方后期还要推出应用插件市场,所有应用插件共享一个管理后台,可以方便各个应用
数
据
互通。否则每个应用插件一个自己的后台,会导致开
发
者很多重复工作,并且也会很混乱不统一。 2.针对有
二
次开
发
需求的,官方打算使用以下方案。 1. 根
据
有些同学的提议,官方出一个统一的后台接口和文档,这样开
发
者就可以使用自己喜欢的前端技术对接官方管理后台。webman不会独自开
发
自己的官方组件,这表示不会开
发
如
数
据
库、Redis、Cache等基础组件,这部分全部复用composer库。卸载命令 composer remove webman/admin 访问 `http://域名.com/app/admin`
进
入安装页面,根
据
引导完成安装即可 #### 效果图 !
问答
gateway一直exit with status 64000 报错日志也是这个
$worker->count = 1; #设置BusinessWorker
进
程的
数
量registerAddress = '127.0.0.1:12360'; #注册服务地址 $worker->eventHandler = \App\
GatewayWorker
0.0.0.0:22222"); $gateway->name = 'Gateway'; #设置Gateway
进
程的名称,方便status命令中查看统计 $gateway->count = 1; #
进
程的
数
量pingInterval = 30; $gateway->pingNotResponseLimit = 0; #服务端主动
发
送
心跳
问答
有没有办法可以在客户端连接上服务器之后,在客户端还没有给服务端
发
送
消息的情况下给客户端
发
一条消息,然后关闭链接?
我现在的需求是当服务器的链接
数
大于1000后,对于后续的链接,只要有客户端一连接,不管他有没有
发
消息给服务端,服务端都给他
发
一条消息告诉它链接已满,请稍后再试,然后关闭该链接。现在我在 onConnect 方法里面给客户端
发
消息并关闭链接,客户端直接是红色的,没有显示收到的消息。 请问大家有没有什么好的思路处理这个问题呢?
问答
请问关于
GatewayWorker
与我现有项目通信结构是否正确
项目A:GatewayWorker 项目B:home 项目A与项目B同级目录 项目需求:A负责接收硬件反馈回来的信息(TCP协议),并存储
数
据
库,B负责提交请求给硬件,通过websocket提交到Even.php/Workerman/Autoloader.php'; Autoloader::setRootPath(__DIR__); // gateway
进
程 $gateway = new Gateway("tcp://0.0.0.0:7659"); // gateway名称,status方便查看 $gateway->name = 'YourAppGateway'; // gateway
进
程
数
$gatewayAutoloader::setRootPath(__DIR__); // WebServer $web = new WebServer("http://0.0.0.0:55150"); // WebServer
数
量
问答
Workerman-RPC抛出recvData异常问题,急!
Hi,walkor, 目前该问题已是在生产项目上,我在PHP脚本里面直接引用RPCclient.php,然后远程调用RPC服务器往
数
据
库里写
数
据
,脚本执行完一段时间后
发
现脚本的
进
程退出了,看了一下日志是RPC抛异常了:Uncaught exception 'Exception' with message 'recvData empty',导致脚本
进
程退出 我有几点想请问一下: 1,Uncaught如果出现了,但对脚本
进
程有影响吗? 谢谢walkor解答!
问答
管理后台webman-admin的session有效时长能在配置控
制
吗?(已处理)
管理后台webman-admin的session有效时长能在配置控
制
吗?(已处理)
问答
【已解决】使用 illuminate/validation 验证器无法支持中英文切换
illuminate/validation": "^9.52", "symfony/translation": "^6.0" ``` #### 预期效果 采用APIPOST接口请求软件,通过传header参
数
`[截图](/upload/img/20230216/1663eda5e470ab.png) #### 程序代码 ##### 语言中间件代码 >** 方式一和方式
二
都试过都是同样的效果** ``` namespace$session = $request->session(); $session->set('lang', getAcceptLang()); // 方式
二
:是会手动生效的(因为项目会重启),但是当第一次设置英语en参
数
进
行接口软件APIPOST调试是可以生效的,但是第
二
次设置中文zh_cn参
数
则不生效!translator); } return static::$instance; } ``` #### 初步设想 我想是不是代码缓存了,还是通过上次请求过的参
数
响应结果
问答
Gateway 怎么实现用App控
制
设备,设备收到App指令之后做出反应,并通知App是否执行成功
App通接口向PHP中的某种方法传递相指令,比如开机,PHP收到之后解析命令,并通过GatewayClient
发
送
给设备,设备做出反应,我怎么告知App执行成功与否
分享
基于 Workerman 的简单聊天室
DEMO://do[dot]vgot[dot]net:2345/xchat 现在就一个聊天房间,有各种
进
入离开提醒,有在线人列表功能。服务端目前就一个 websocket 服务
进
程,未来再用
GatewayWorker
。为什么不能
发
链接啊,真是醉了。
问答
workerman Timer
Gateway::sendToGroup(, json_encode()); --$_downTimer; } }); ``` 运行 :`php artisan wk start ` 然后
进
入房间后timer
发
送
到客户端 是正常的 按每秒去递减, 之后我退出房间 在
进
去 ,那么问题来了: Workerman 推
送
到客户端的 时间 会每秒打印 60,59,58 一次性可以推
送
3秒 或者更多过来
问答
nginx做反向代理连接https,但是连接不上
.***.com/wss/'); // uid可以是自己网站的用户id,以便针对uid推
送
以及统计在线人
数
uid = "user_"+连接 '+uid); socket.emit('login', uid); }); // 后端推
送
来用户
数
据
时msg) { console.log('服务端推
送
数
据
有误'); return;
问答
控
制
器里如何利用exec调用自定义命令吗
#### 问题描述 自定义命令只能在根目录执行,请问入如何在控
制
里调用自定义命令呢,/usr/local/bin/php /Users/destiny/admin/transfer-statistics1
问答
关于 协程 概念的一些疑惑
#### 问题描述 作为一个php开
发
,平时接触最多的就是传统fpm框架(tp、laravel等),以及守护
进
程框架(webman等)。#### 为此你搜索到了哪些方案及不适用的原因 关于
进
程 的概念,无论是fpm,还是守护
进
程 workerman,都是一个
进
程处理一个请求,当
进
程
数
量 处理不过来很多的请求的时候,会阻塞。我有以下猜想: 举个例子,业务逻辑是这样的: 一个请求过来后,首先,需要 4 秒钟调用第三方接口A,需要 4 秒钟调用第三方接口B,拿到A和B接口返回的
数
据
后,需要2秒钟
进
行A和B接口返回
数
据
的组装在使用协程的情况下,如果我有5个
进
程,同时来了5个请求,单个
进
程里处理单个请求需要 6 秒钟。是不是这 5个
进
程可以同时生成5个协程来处理呢?还是说 5个
进
程,同一时间内,只能有一个协程在处理?
文档
请求
你也可以给get方法第
二
个参
数
传递一个默认值,如果get
数
组中没找到对应值则返回默认值。与get方法一样,你也可以给post方法第
二
个参
数
传递一个默认值,如果post
数
组中没找到对应值则返回默认值。与get方法一样,你也可以给header方法第
二
个参
数
传递一个默认值,如果header
数
组中没找到对应值则返回默认值。与get方法一样,你也可以给cookie方法第
二
个参
数
传递一个默认值,如果cookie
数
组中没找到对应值则返回默认值。```php $request->input('name', $default_value); ``` ## 获取部分输入
数
据
从`post` `get`的集合中获取部分
数
据
。
文档
请求
你也可以给get方法第
二
个参
数
传递一个默认值,如果get
数
组中没找到对应值则返回默认值。与get方法一样,你也可以给post方法第
二
个参
数
传递一个默认值,如果post
数
组中没找到对应值则返回默认值。与get方法一样,你也可以给header方法第
二
个参
数
传递一个默认值,如果header
数
组中没找到对应值则返回默认值。与get方法一样,你也可以给cookie方法第
二
个参
数
传递一个默认值,如果cookie
数
组中没找到对应值则返回默认值。```php $request->input('name', $default_value); ``` ## 获取部分输入
数
据
从`post` `get`的集合中获取部分
数
据
。
问答
ws.onmessage我可以在js页面获取到设备的返回值,后台怎么获取返回值啊
ws.onmessage我可以在js页面获取到设备的返回值,可是项目是前后端分离的,前端只把
数
据
发
给我,比如点击重启,请求我的接口xxx,然后我向设备
发
送
了重启命令 后台: Gateway::$registerAddressws.onmessage = function(e) { console.log(e.data); }; 前端就能接收到,可是现在用不到前端, 我想知道后台
发
起重启怎么接收到返回值
« 上一页
1
...
162
163
164
165
166
167
168
169
...
429
下一页 »
« 上一页
165
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝