workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
关于长连接聊天时,出现断电断网情况时,收
不
到离线消息的问题
【 对于实时性要求很高的场景,需要客户端
回
应心跳,比如服
务
端给某个客户端发了心跳,如果一段时间(比如10秒)没收到客户端的心跳
回
复就认为链接断开了,服
务
端就关闭链接 】这个心跳该如何做呢?是
不
是呢?】
问答
webman ai 后台添加了gpt 的key,报错了,请问怎么
回
事
,是key这是错了吗?
#### 问题描述 这里详细描述问题 #### 报错信息 
问答
getClientIdByUid的返
回
为空
php和我其他业
务
文件代码 都use的同一个gateway 如下的代码bu ```php var_dump("$uid"); var_dump(Gateway::getClientIdByUid("$uid
问答
付費求助,https的采集,证书问题
主要代码如下 客户端证书
不
行,采集
不
了 求有经验的大佬指导 价格好说 QQ43950 ```php <?$host,$context_option); ``` 关键问题是,我
不
知道证书该怎么
生
成,网上大多是服
务
器端证书 客户端证书我用KeyManager
生
成了,但是提示
不
对
问答
关于workerman定时任
务
根据一张数据表的每行数据的
不
同开始时间定时任
务
逻辑怎么做
问答
popen打开的stream如何转发
#### 问题描述 觉得pipe也许可用,但是pipe只对TCPConnection有
效
,无法转发stream #### 为此你搜索到了哪些方案及
不
适用的原因 于是尝试使用定时器 ```php stream_set_timeoutconnection->send(fread($stream,1*1024*1024),true); },[$timer]); ``` 然后意识到,send执行后HTTP请求结束了,于是浏览器拿到了皮毛就返
回
了找
不
到合适的方法,请教HTTP数据流可能吗,该如何实现?
问答
gatewayworker心跳问题
#### 问题描述 我在服
务
端设置了如下代码,开启进程后客户端正常连接并在收到ping消息后主动推送pong消息 服
务
端日志打印可以确定onMessage收到了pong 但是几次ping之后 服
务
端还是主动pingNotResponseLimit = 3; ``` 下图为打印内容 可以看到收到几次pong后就停了 4次是当时设置的具体 pingInterval和pingNotResponseLimit 数值有所
不
同但都是这个
效
果 `interval`*`limit` 秒之后服
务
端就会close掉这个连接  #### 为此你搜索到了哪些方案及
不
适用的原因 找的已经
回
答了的大都是让看gatewayworker的心跳那个的手册
问答
nginx反向代理webman大文件上传报错
nginx反向代理webman 超过15M的文件就返
回
502报错,查看nginx日志: ``` sendfile() failed (32: Broken pipe) while sending requestsendfile_max_chunk 2m; client_body_buffer_size 1M; client_max_body_size 200M; ``` php.ini也得post_max也设置的200M 依然无
效
,
不
知道是nginx的原因还是php哪里没设置对。请求结束后临时文件将被自动清除 如果请求没有上传文件则$request->file()返
回
一个空的数组 上传的文件
不
支持 move_uploaded_file() 方法,请使用 $file->move(
问答
webman 一个
不
能确定是否是BUG 求重示
当配置路由后 静态文件全失
效
``` use Webman\Route; Route::any('/{id}', [app\controller\Index::class, 'about'])执行流程应该错了
不
是应该根据请求头来判断是否为静态文件吗?具体我暂时还没有深入去看匹配的流程。 个人应该认为,第一先判断请求头是否为图片,CSS,JS,然后再判断请求的是
不
是文件之类的。
分享
workerman多进程定时任
务
(非crontab)
功能: 1、执行周期:可按月、周、天、时、分定时执行,也可按天、时、分延时执行 2、任
务
类型:可在此架构基础上,很方便的添加其他类型的任
务
,已经内置邮件群发 3、任
务
日志:
不
仅可以查看历史执行日志,还可以通过websocket实时查看某个任
务
正在执行的具体日志 4、api接口:可通过http和redis两种方式,对任
务
增删改查 5、任
务
分割:多个任
务
多进程同时执行
不
会影响定时器,另外,如果某个任
务
类型比较复杂
问答
设备端
不
间断发送了1000条数据 已经停止了 服
务
端还在处理数据 要等一段时间才能结束 为什么?
#### 设备端
不
间断发送了1000条数据 已经停止了 服
务
端还在处理数据 要等一段时间才能结束 为什么?gateway 将请求加入队列中了吗 我想知道到底是 阿里云端做的处理 还是网关gateway做的处理 怎么实现的 代码在哪里 我想看看 #### 第二个问题 在大量请求过来的时候(1000个
不
间断请求) 服
务
端处理业
务
有点慢 设备都停止了 服
务
端还
不
停的处理 我想知道 怎么提高业
务
处理性能 因为观察发现服
务
器的cpu 和内存并没有明显的增加 感觉可能都是在数据库操作 上花费了大量时间 php的性能好像
不
像是瓶颈 我用得think-orm 感觉 连接数据库应该是长连接了
不
知道怎么优化
问答
不
能长时间链接,一段时间
不
操作,需要重新启动服
务
才行。
[截图](//www.workerman.net/upload/20201119/195fb616b01ccf.png) 重启服
务
之后就可以链接了。
问答
TP5.1 命令启动GatewayWorker,提示windows
不
支持
TP5.1已经composer安装了GatewayWorker,但是在cmd命令里面根据文档输入 php think worker:gateway,提示
不
支持windows php think worker以及php think worker:server是成功的,但是php think worker:gateway就提示
不
支持 [attach]2117[/attach] 就没人
回
答一下嘛
文档
onWorkerStart
# onWorkerStart ## 说明: ```php callback Worker::$onWorkerStart ``` 设置Worker子进程启动时的
回
调函数,每个子进程启动时都会执行。##
回
调函数的参数 ``` $worker ``` 即Worker对象 ## 范例 ```php <?\n"; }; // 运行worker Worker::runAll(); ``` > **提示** > 业
务
可以根据worker->id来区分
不
同的进程从而执行
不
同的业
务
逻辑,例如只在0号进程执行某个业
务
,具体[参考这里](workerid.md) > **提示** > 除了使用匿名函数作为
回
调,还可以[参考这里](../faq/callback_methods.md)使用其它
回
调写法。
分享
关于如何使用dockerfile -d 启动webman的那些
事
我一想,webman
不
是自带来守护进程模式吗?workerman里面采用的是Master进程监控子进程的模式启动的,因此是支持守护进程模式的。如果还要依赖第三方来进行守护那么自带的守护模式 `-d` 是
不
是就没有存在的意义了。 !既然知道问题是
不
是可以加一个前置进程解决这个问题?,当nginx出现问题挂掉的时候docker容器也会跟着退出,从而
不
能为用户提供服
务
。重点就在于 `tail -f /dev/null` 它会一直阻塞在等待,这样就能实现webman的守护进程又能保持容器
不
会退出。
问答
phpsocket.io 怎么验证客户端合法?
phpsocket.io 前端JS链接服
务
器,如何保证链接合法性呢?用origins限制访问域名,在服
务
器通过域名访问是有
效
的,在本地html文件链接服
务
器origins无法限制,有什么好办法解决?
问答
move上传照片获取路径
不
用response()返
回
,用json返
回
怎么显示
   
问答
WebSocket 当前连接收到了
不
属于它的订阅数据
#### 问题描述 WebSocket 当前连接收到了
不
属于它的订阅数据,新手,
不
知道是变量污染还是其他问题,求兄弟们帮忙看一下。#### 为此你搜索到了哪些方案及
不
适用的原因 protected $socket = 'websocket://0.0.0.0:8090'; protected $clients= []; /** * 连接成功
事
件 * @param $connection */ public function onConnect($connectionsubscriptions' => [], // 存储订阅的频道信息 'timerId' => '' ]; } /** * 接收消息
事
件unset($subscriptions[$key]); break; } } } /** * 心跳
事
件
分享
🚀 我的第三个webman插件 webman/jwt 认证插件
JWT的声明一般被用来在身份提供者和服
务
提供者间传递被认证的用户身份信息,以便于从资源服
务
器获取资源,也可以增加一些额外的其它业
务
逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。认证服
务
器验证用户名和口令后,以服
务
器端
生
成`JWT Token`,这个token的
生
成过程如下: - 认证服
务
器还会
生
成一个 `Secret Key`(密钥) - 对`JWT Header`和`JWT然后把 `base64(header).base64(payload).signature` 作为 `JWT token`返
回
客户端。 > 4.| 参数|类型|描述|示例值| |:---|:---|:---|:---| |token_type| string |Token 类型 | Bearer | |expires_in| int |凭证有
效
时间" -f RS256.key openssl rsa -in RS256.key -pubout -outform PEM -out RS256.key.pub ``` ## 🚀 视频地址 >
不
懂的同学可以了解一下视频
问答
两个
不
同的tcp服
务
如何监听在同一个端口上?
#### 问题描述 目前服
务
器只开放了一个端口供互联网访问,现在workerman的一个tcp服
务
已经监听了此端口,如果再使用worker作mysql代理,或者其他方式怎么能实现?通过nginx tcp代理是否可行 ### 通过客户端链接mysql服
务
测试打印输出数据, !
« 上一页
1
...
78
79
80
81
82
83
84
85
...
480
下一页 »
« 上一页
81
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝