workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
客户端没访问一次都一个 exit with status 139
[attach]2231[/attach] 这是咋
回
事
?
问答
关于 workerman-json-rpc
服
务
端 ```php $worker = new Worker('JsonNL://0.0.0.0:2015'); ``` 客户端 ```php $address_array = array
不
是非常理解异步,我的理解是 服
务
端接收请求,处理请求,此时在处理请求的过程中,服
务
端
不
会一直阻塞在这里(
不
会一直等待处理结果),而是会继续接收其他请求,当处理中的请求处理完成后,会自动向客户端返
回
处理结果,
不
知道这样理解对
不
对,从官网的示例代码中,同步与异步的代码只有些许差别,看得
不
是很明白 4.$uid); 这两行代码能否再帮忙讲解下,执行了第一行代码,会产
生
怎样的
效
果呢(是
不
是表明处理请求的过程,但并没有返
回
处理结果,如果这个请求很快就处理完了,那处理完的结果放在哪里的呢),执行完第二句代码(这句代码的意思是,这个时候我需要返
回
客户端数据了,然后再去拿刚才的处理结果,但这样的话,
不
是很明白,是去哪里拿刚才处理的结果呢) 5.内部究竟是如何做到异步的呢 有点啰嗦,因为最近公司在做RPC
问答
GatewayWorker高并发定时器失
效
正常情况下这个定时器工作正常,但一遇到大量并发链接,比如一秒几十个链接,这个定时器就
不
起作用了(数据库中没有 tmp_int2=2的记录, 1为连接 2为定时器删除连接 3为成功认证后删除定时器),导致大量的无
效
连接的存在
问答
webman 的两种方式运行的
效
率问题
我想问两个问题: 第一个问题:我的描述是否正确,如果
不
正确应该怎么说? 第二个问题:第一种方式的执行
效
率是
不
是高于第二种方式?大概能高多少?(给个大概数字就行)
问答
如何按天记录gatewayworker业
务
日志
大神,我想记录gatewayworker的业
务
日志,但Worker::$stdoutFile似乎只能在启动gatewayworker的时候创建文件,并
不
能按天来建立日志文件记录业
务
日志,我在workerman手册上看到logfile,如图所示,但是用file_put_contents打印数据会
不
会对gatewayworker的性能有什么影响?包括业
务
进程,业
务
处理时间什么的。目前我这边打印的数据,每条最多也
不
到一百个字节,但是量很大,一秒可能有好几条,一天下来大概有几十Mb,请问大神file_put_contents这个方法可以吗?或者还有什么更好的方法,看到有人说直接在
生
成workerman日志的代码中改,这个可以吗?
问答
GatewayWorker 遇到的一个自动更新奇怪的问题
线上 GatewayWorker 持续运行中,今天提交了一些新代码,没有重启服
务
,也没有文件监控reload服
务
,按理说新提交的代码
不
会
生
效
,但是看自定义的一些日志记录,有一部分居然是新代码才有的日志,说明某些进程更新了我提交的代码,我看workerman.log 里面也没有报错或者进程重启的记录,GatewayWorker启动后
不
是常驻内存的吗?
文档
defaultMaxSendBufferSize
不
设置默认为```1MB```。```Connection::$defaultMaxSendBufferSize```可以动态设置,设置后只对之后产
生
的新连接有
效
此属性影响[onBufferFull](../worker/on-buffer-full.md)
回
调。
问答
ws.onmessage我可以在js页面获取到设备的返
回
值,后台怎么获取返
回
值啊
ws.onmessage我可以在js页面获取到设备的返
回
值,可是项目是前后端分离的,前端只把数据发给我,比如点击重启,请求我的接口xxx,然后我向设备发送了重启命令 后台: Gateway::$registerAddress'personInfoCount'=>'1', ]); Gateway::sendToUid($uid, $data); 然后怎么接收他的返
回
值啊,成功还是失败,我看
不
到 前端没问题 ws = new WebSocket("ws://xxxxx:8282"); ws.onopen = function() {}; ws.onmessage = function(e) { console.log(e.data); }; 前端就能接收到,可是现在用
不
到前端, 我想知道后台发起重启怎么接收到返
回
值
问答
webman控制器能原样返
回
数据吗?
#### 问题描述 比如我在控制器中返
回
一个数组,穿过中间件的时候,$handler($request)后得到的response的body还是这个数组,而
不
是"Array"字符串。如果可以这么处理的话,控制器中就
不
需要使用json()返
回
。我在中间件中全局处理下响应就可以了
问答
orm模型观察者无
效
#### 数据库orm模型观察者无
效
#### 模型以及观察者关键代码 ```php # 模型关键代码 public static function boot() { parent::boot()
问答
现在有个需求,客户端发完消息想知道是否发成功,就是需要服
务
端有
回
执,然后好做消息重发?
现在有个需求,客户端发完消息想知道是否发成功,就是需要服
务
端有
回
执,然后好做消息重发?怎么实现呢?client A发消息server,server转发给client B,然后client B收成功后发ack给server,server再把ack信息
回
执给client A,请问老大是这样的吗?还是server这边每发个消息启动个定时器比如10秒内没收到client B的ack确认就告诉client A消息发送失败了,但这样感觉挺复杂了 本质还是对消息重发流程
不
太懂
文档
慢业
务
处理
# 慢业
务
处理 有时候我们需要处理慢业
务
,为了避免慢业
务
影响webman的其它请求处理,这些业
务
根据情况
不
同可以使用
不
同的处理方案。 ## 方案一 使用消息队列 参考[redis队列](../queue/stomp.md) #### 优点 可以应对突发海量业
务
处理请求 #### 缺点 无法直接返
回
结果给客户端。## 方案二 新增HTTP端口 新增HTTP端口处理慢请求,这些慢请求通过访问这个端口进入特定的一组进程处理,处理后将结果直接返
回
给客户端。#### 优点 可以直接将数据返
回
给客户端 #### 缺点 无法应对突发的海量请求 #### 实施步骤 在 `config/process.php` 里增加如下配置。publicPath' => public_path() // public目录位置 ] ] ]; ``` 这样慢接口可以走 `http://127.0.0.1:8686/` 这组进程,
不
影响其它进程的业
务
处理
问答
ai发消息没有
回
复,什么问题
[](/upload/img/20231026/26653a13834a5b.png) 买了2个key,都是发消息
不
呢个
回
复
问答
workman 进程重启后的问题
```php $worker->onMessage = function ($connection, $request){ //设置单进程请求量达到额定时重启,防止代码写得
不
好产
生
OOMstatic $maxRequest; if(++$maxRequest>5000){ Worker::stopAll(); } }; // 启用swoole的
事
件驱动原因查出来了,因为启用swoole的
事
件驱动造成的,只要
不
启用就正常。 请问这是为什么,有解决办法吗
问答
ai音乐
生
成 最后解析失败
#### 问题描述 ai音乐
生
成 最后解析失败 !
问答
GatewayWorker框架使用text协议解决粘包问题
Hi,walkor, 最近我在项目使用GatewayWorker时也碰到了粘包问题,然后查阅了相关文档,发现text协议 能够很好解决粘包问题,但是客户端连上服
务
器发数据时,**Events.php的onMessage方法中接收
不
到数据**,这是 怎么
回
事
呢?另外,GatewayWorker框架支持使用text协议时能在Events.php中处理业
务
吗?
问答
webman多语言组件严重BUG
locale本质上对单次请求有
效
,通过把用户个性化设置的语言储存在数据库或者cookie,可以达到locale对单个用户有
效
的
效
果,比如网站默认提供英文,用户可以自定义英文 日文,而且这个设定只对这个用户自己有
效
而webman中由于共享了一个单例 通过locale设定语言后 对整个网站都
生
效
,一个用户设置了英文 整个网站的所有用户都会看到英文,想要达到fpm模式的切换语言业
务
效
果 只能在每次调用trans函数时再设定一次语言这显然属于是一个BUG而
不
是webman独有的特性
问答
onBufferFull被调用后,怎么停止send???
手册原文: **每个连接都有一个单独的应用层发送缓冲区,缓冲区大小由TcpConnection::$maxSendBufferSize决定,默认值为1MB,可以手动设置更改大小,更改后会对所有连接
生
效
。该
回
调在应用层发送缓冲区数据全部发送完毕后触发。一般与onBufferFull配合使用,例如在onBufferFull时停止向对端继续send数据,在onBufferDrain恢复写入数据。
文档
快速开始
webman/database illuminate/pagination illuminate/events symfony/var-dumper` 安装后需要restart重启(reload无
效
)> **注意** > 如果
不
需要分页、数据库
事
件、记录SQL,则只需要执行 > `composer require -W webman/database` ## 数据库配置 `config/database.php仅在协程环境有
效
'idle_timeout' => 60, // 连接池中连接最大空闲时间,超时后会关闭
回
收,直到连接数为min_connections## 关于连接池 * 每个进程有自己的连接池,进程间
不
共享连接池。 *
不
开启协程时,业
务
在进程内排队执行,
不
会产
生
并发,所以连接池最多只有1个连接。* 开启协程后,业
务
在进程内并发执行,连接池会根据需要动态调整连接数,最多
不
超过`max_connections`,最少
不
小于`min_connections`。
问答
workerman怎么实现一个进程一个端口监听
不
同的https网站
比如:一个进程,监听0.0.0.0:443地址,当有连接请求时,根据
不
同的域名,使用相对应的ssl证书去解密.就是先有一个socket,
不
设置ssl证书,等连接来时,根据
不
同的域名,给socket配置相应的证书,
不
过我看https原理发现这样
不
通,https是先进性ssl握手,之后再将数据返
回
到上层, 想实现这个
效
果用workerman能吗,php能吗.
« 上一页
1
...
34
35
36
37
38
39
40
41
...
471
下一页 »
« 上一页
37
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝