workerman
首页
问答
分享
手册
市场
物联网
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
消息推
送
(对方离线)
消息推
送
对方离线状态,我则么在他上线时重新把消息推
送
过去
问答
wokerman运行一段时间,php
进
程占用100%
strace
进
程后
发
现陷入死循环 [attach]1854[/attach] 这是什么原因造成的?
问答
workerman是否可以同时工作在 tcp 的服务器模式与客户端模式
我现在的应用是workerman TCP服务器模式, 现在突然需要往一个固定的IP服务器上上
发
送
TCP
数
据
,这就需要workerman 同时工作在TCP服务器模式 和TCP客户端模式, 是否能满足呢
问答
workerman当作客户端用AsyncTcpConnection与对方socket通讯
对方的socket接口有自已的通讯协议,如果用AsyncTcpConnection异步链接对方的socket, 可以按照对方的协议
发
送
和接收
数
据
吗? 例如是不是下面这样?
问答
nginx转
发
到webman问题(webman BUG)
#### 问题描述 主服务器配置转
发
到子机webman 返回
数
据
错误 实测500kb大小文件没有任何问题, 可以下载 但是3MB的文件就不行了 chrome浏览器直接下载未完成 使用curl方式 去获取只能读到2MB大小 如果将主服务器nginx转
发
到子机nginx 6MB大小的文件都没问题 所以判断结论是webman的问题 主服务器nginx配置 location / { proxy_redirect
问答
workerman使用httpServer
进
程请求问题
使用workerman的httpServer作为web服务器,当我开启20个
进
程的时候,是否意味着只能同一时间只能并
发
处理20个请求?如果是的话,并
发
感觉有弱啊。如果不是,是否使用了异步处理呢?
分享
路由中间件与控
制
器执行顺序的小坑与建议
写用户认证中间件的时候遇到一个问题, 我要在中间件里校验token, 在控
制
的beforeAction中获取用户信息, 然而它先走的是beforeAction, 就是控
制
器先于中间件执行, 后来看到这个贴子[控
制
器与中间件执行顺序](https://www.workerman.net/q/8360) 才知道ActionHook本身就是全局中间件, 那这样的话, 我还不如直接在beforeAction里做用户校验ActionHook应当属于控
制
器层面而不应当作为中间件 2. 像ActionHook这样常用的基础库应当归为webman核心库而不是插件
问答
websocket
数
据
格式如何转换为socket
数
据
问答
进
程间获取$connection
我想拿到$connection调用send方法给客户端
发
送
消息 #### 为此你搜索到了哪些方案及不适用的原因 试用了channe
文档
内存泄漏
> **提示** > webman自带的monitor
进
程会监控所有
进
程内存使用情况,如果
进
程使用内存即将达到php.ini里`memory_limit`设定的值时,会自动安全重启对应的
进
程,达到释放内存的作用并且这个**长生命周期的**
数
组会无限扩张(业务无限向其插入
数
据
,从不清理
数
据
) 如果1 2条件**同时满足**(注意是同时满足),那么将会产生内存泄漏。单例的
数
组属性 3. global关键字的
数
组 > **注意** > webman中允许使用长生命周期的
数
据
,但是需要保证
数
据
内的
数
据
是有限的,元素个
数
不会无限扩张。随着不断向`$data`
数
组里添加不同key的
数
据
,程序占用内存也月来越大,造成内存泄漏。即使开
发
者没有找到泄漏点,webman自带的monitor服务会适时安全重启
发
生内存泄漏的
进
程,释放内存。 如果你实在想尽量规避内存泄漏,可以参考以下建议。 1.
问答
workerman 如何提高Redis出队 效率?
当前正式环境每天会通过API接口有几百条
数
据
不同的时间段提交至服务端,服务端利用Redis队列入队、出队,
数
据
校验后
进
行入库; 通过服务器自身的任务计划,每10分钟执行一次PHP脚本,来对Redis的
数
据
进
行出队->校验->入库; 目前暂时没有问题;但是无法应对大量
数
据
入队后的出队效率?如果Redis队列里有10000条或者更大量的
数
据
; 通过PHP脚本 可能需要 10分钟以上的时间左右才能完成入库; Workerman 如何对这个问题
进
行相关优化 提高效率呢?
问答
如何
制
作只能给udp使用的协议
手册上在介绍自定义协议时没有介绍该协议是在tcp下使用的还是udp下使用的,而我在看内置的协议时,
发
现有的协议指定连接必须是tcp对象,有的是连接的抽象对象,有的没有指定,如图,从上到下依次是text,还是说无论协议如何定
制
,想实现tcp或者udp的指定,都必须用worker的transport属性指定.
问答
gatewayworker
连接之后立刻就断开了
错误信息:Connection closed before receiving a handshake response
gatewayworker
请问这是什么回事?一连上就断开了。
问答
AsyncTcpConnection类tcp连接不上
device_connection->onConnect=function ($con){ dump("tcp连接成功"); }; // 设备
发
来
数
据
时function($device_connection, $data){ dump($data); }; // 给设备
发
数
据
[](/upload/img/20211223/2361c4592bea23.png) 1.网页端的websocket
发
送
的消息指令通过AsyncTcpConnection类转
发
给tcp,2.tcp收到指令后返回消息通过
问答
如何直接返回远程服务器的文件流?
'/favicon.ico'); } } ``` webman支持
发
送
超大文件 对于大文件(超过2M),webman不会将整个文件一次性读入内存,而是在合适的时机分段读取文件并
发
送
webman会根
据
客户端接收速度来优化文件读取
发
送
速度,保证最快速
发
送
文件的同时将内存占用减少到最低
数
据
发
送
是非阻塞的,不会影响其它请求处理 file方法会自动添加if-modified-since头并在下一个请求时检测if-modified-since头,如果文件未修改则直接返回304以便节省带宽
发
送
的文件会自动使用合适的Content-Type头
发
送
给浏览器 如果文件不存在,会自动转为404响应 如果我是要请求一个远程,而不再转存到本地,这种4个GB的文件能正常转
发
吗?转
发
怎么写呢,curl获取文件流,然后 $result = curl_exec($ch),再return $result吗?
问答
workerman启动时候 创建新的
进
程做定时器
开了4个
进
程 要在workerman启动时候 调用一次函
数
创建出新的
进
程 来做定时器 仅调用一次 现在在gateway那里调用 会执行4次
问答
GatewayWorker
分布式问题
请问
GatewayWorker
分布式是怎么实现的呢?
问答
感觉控
制
器的前置初始化还是放在框架层面比较好
见我之前
发
过的pr: https://github.com/walkor/webman-framework/pull/39/files 调用控
制
器的action前,检测控
制
器是否存在约定名称的初始化方法而且还会陷入一个怪圈,就是那种写个`baseController`,然后其的所有控
制
器去继承它。 另外,别告诉我修改`config/middleware.php`调整中间件顺序之类的。
问答
关于网络波动掉线重连正常后再次send到服务器,会出现 WebSocket is already in CLOSING or CLOSED state 这个错误
我今天
发
现有些问题。不知道如何优雅的解决 今天用户反映出现这个错误 !然后高频率的出现这个错误在控
制
台。(可正常
发
送
消息),但是居然会影响到复
制
粘贴的功能(vue),我也不知道为什么会影响。正因为影响后我才
发
帖提问,还请各位大佬赐教。谢谢 只有当重新刷新才能够状态完好。我的问题1:如何网络断开的时候,如果链接失败,可以不用再控
制
台展示 问题2:为什么在我断网连接成功后(可
发
送
消息,没刷新浏览器)会高频率出现WebSocket is already in CLOSING
问答
webman不同文件如何传递变量呢?
例如说中间件和控
制
器之间,在中间件查询了
数
据
库获取了用户信息,应该如何存储用户信息,使之能够在控
制
器中读取到用户信息呢?目前是使用request session来存储的,请问是否还有其他更好的方案呢?
« 上一页
1
...
138
139
140
141
142
143
144
145
...
402
下一页 »
« 上一页
141
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝