workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
关于h2的ssh握手协商问题 @walkor
我正在实现http2协议,握手方式目前大多数客户端都是ssl协商上层协议,也就是告诉客户端服
务
器支持h2 在监听的时候要加以下设置 stream_context_set_option($this->_context, "ssl", "alpn_protocols", "h2, http/1.1"); 目前我直接改的worker类,在里面添加这个参数,但是这
不
便于升级。我看了一圈也没看到有
回
调函数 有没有其他办法搞定呢?
问答
PHP聊天系统源码-即时通讯聊天源码 - 泡泡IM
**泡泡IM**是一款基于Workerman开源框架开发的**[PHP聊天系统源码](https://www.popoim.com/)**(PHP即时通讯源码),提供高
效
、灵活的PHP聊天系统解决方案。## 部署与扩展 泡泡IM的聊天系统源码提供了详细的部署教程,无论是Linux还是Windows服
务
器,都能快速完成环境配置。得益于Workerman开源框架官方的支持,源码支持高并发处理,单台服
务
器即可承载数万用户同时在线。## 移动端
效
果  ## **立即体验泡泡IM,开启高
效
即时通讯开发!** 👉 **[https://www.popoim.com](https://www.popoim.com)** 或联系客服咨询,获取技术支持和定制服
务
!
问答
【已解决】AsyncTcpConnection 重连机制,是否可以更改send的数据
最近在workerman里面使用AsyncTcpConnection作为客户端连接ws服
务
器。但是对方里面有一个签名规则,里面需要nonce(当前时间融入到签名里面),并且会检验nonce的时
效
性。 使用过程中,触发onClose重连的时候,发现里面send的订阅数据是刚启动时候的数据。
不
太懂如何处理?还是只能自己另外实现reConnect的方式了? 已解决,下面为调整的代码: ```php <?
问答
发布一场考试,有结束时间 定时器该怎么处理
小时自动提交 或者截止时间自动提交 如果进程开启打开一个定时器(20s) 轮询查mysql roomId 通过roomId查询reids对应房间详情 怎么能做到没有时间差 用户进入考试开启2小时定时任
务
,定时器过多会
不
会影响
效
率
问答
Gateway框架,请问新建的Worker文件怎么样发送消息通知Events.php接收呢?
在Applications/Chat下建立了一个Worker文件处理定时器,如果时间一到,怎么样发消息到Events.php里接受,然后处理业
务
逻辑返
回
WEB客户端?谢谢
文档
send
encode方法,默认是false,即自动调用协议的encode方法 ## 返
回
值 true 表示数据已经成功写入到该连接的操作系统层的socket发送缓冲区 null 表示数据已经写入到该连接的应用层发送缓冲区socket发送缓冲区,并
不
意味着数据已经成功的发送给对端socket接收缓冲区,更
不
意味着对端应用程序已经从本地socket接收缓冲区读取了数据。**
不
过即便如此,只要send
不
返
回
false并且网络没有断开,而且客户端接收正常,数据基本上可以看做100%能发到对方的。如果业
务
需要保证每个消息客户端都收到,可以在业
务
上增加一种确认机制。确认机制可能根据业
务
不
同而
不
同,即使同样的业
务
确认机制也可以有多种方法。 例如聊天系统可以用这样的确认机制。客户端每收到一条消息向服
务
端发送一个确认包,服
务
端将对应消息置为已读。
问答
Workerman出现服
务
异常重启
#### 问题描述 没有任何操作 出现了一次重启 概率性重启 几个月一次这样 出现服
务
异常重启 升级版本?还是?毕竟一两个月一次 影响还
不
是很大 #### 报错信息 ``` 2023-07-31 07:06:47 pid:3104117 Workerman[/game/gameServer/Server/..
问答
webman高并发的情况下, 处理消息队列会
不
会冲突
#### 问题描述 webman处理高并发请求, 耗时的任
务
投递到消息队列, 在同台机子上消费消息队列, 高并发和消息队列处理会
不
会有性能上的影响?
问答
请问register无法关闭是什么原因?
seconds GatewayConnection Error : 1 ,connect 127.0.0.1:4507 fail after 0.0009 seconds ``` 的错误,经过查找后发现,并
不
是在分布式上才会出现这个错误经过
事
件,发现:php start.php restart -d 后,会提示: `‘stream_socket_server()’: unable to connect to tcp://0.0.0.0gateway进程数我设置为8, worker进程数我设置为24 另外,我在业
务
逻辑中使用过pcntl_fork。
不
知道有没有关系。但确保业
务
完成后进程退出了。
问答
gateway 除了sendtoall 能够推送消息,其他的都
不
行
```php use \GatewayWorker\Lib\Store; use \GatewayWorker\Lib\Gateway; class Event { /_ 连接服
务
_/); // 无法推送信息 $c = Gateway::sendToAll('456'); // 可以 推送信息 return ; } ``` 是
不
是有什么地方
文档
如何分布式部署
## 提示 GatewayWorker提供的所有接口都是支持分布式调用的,所以业
务
代码
不
需要任何更改,直接就可以分布式部署。**注意
事
项及说明:** 1、注意多机部署时以下端口
不
要被服
务
器安全组阻挡: ①、Register服
务
监听的端口要可以被其它内网服
务
器访问(为了安全,register要监听内网ip
不
能让其被外网访问2、如果多机部署服
务
器
不
在一个局域网,部署时ip参数可以使用外网ip(需要GatewayWorker版本>=v3.0.22),对应端口防火墙应该设置成能被外网服
务
器访问。5、如果服
务
器
不
够用可以使用同样的方法增加服
务
器 6、如果需要下线服
务
器,直接stop对应服
务
器即可。由于Gateway进程维护着客户端连接,当服
务
器下线时,对应服
务
器的客户端会掉线一次。如何做到下线机器
不
影响用户参考下一节。 7、因为有多台gateway服
务
器,所以需要在gateway前增加一个负载均衡。
问答
webman + phpSpreadSheet 大数据导出内存异常问题
如题,在webman里,用 phpSpreadSheet 导出又臭又长的数据(业
务
需要....)虽然workerman能够自动产
生
新的进程,但是这样进程
生
成地也太频繁了。。。 代码在内网,没法贴代码了。
分享
分享个radio的单选组件编辑页选中状态的处理方案
### 解决过程 先查看了下update页
生
成的代码,表单初始化化时会将拿到的数据根据那么进行val赋值。 而我们的radio组件每一个name都是一致的,很可能都会赋值为表中的值。$('input[name="back_button"]').val(data.value); }); ``` 因为对layui
不
是太熟,还是用原
生
js的思路处理# html代码 ```html <div class="layui-form-item"> <label class="layui-form-label">返
回
按钮" class="layui-input"> <input type="radio" name="back_button" value="2" title="返
回
链接class="layui-input"> </div> </div> ``` ### js代码 ```javascript // 字段 返
回
按钮
问答
AsyncTcpConnection作为客户端与其他服
务
端通信连接出现数据延迟的问题
我是用AsyncTcpConnection作为客户端,连接其他socket进行通信,但是当服
务
器那边发送给我这边的客户端短时间内,也就是并发一多,其实也没多少,差
不
多100左右,这边的客户端在onMessage打印的数据里有些请求就会延迟个1分钟以内
不
等的时间,所以想问这个怎么解决???
分享
分享一个现代化的dom操作js库
## 前言 之前分享过一个只处理
事
件的js库,具体可以看之前的文章地址:https://www.workerman.net/a/1849 今天我又来分享一个我的开源,一个更好的现代化的操作dom的库,之前
事
件库
问答
每日定时任
务
,总会提示:Mysql gone away
#### 问题描述 这里写描述 我做了一个定时任
务
,用来每天减少用户的day值。#### 程序代码或配置 ``` 任
务
类: class DailyTask { public function onWorkerStart() { new Crontabitem) { Client::send('reduce-day', $item); } Log::info('执行每日任
务
:重新连接数据库 Log::channel('queue')->info('数据库连接已断开,正在重连...'); } 这串代码的时候,有时候他会减少掉,但有时候
不
会
问答
[已解决]workerman接收
回
传消息后,如何发送给 PHP
因为系统一直检测markdown 格式
不
正确,以图片方式发布了相关问题。 
问答
使用GatewayWorker开发棋牌倒计时应该怎么处理?
现在是一个房间一个定时器,但是运行久了会发
生
堵塞,导致定时器
不
准.一直没有找到合适的方案,有做过棋牌的大佬能解惑的嘛?
问答
你好,使用workerman/mqtt,有些选项
不
明白,问问
如果我qos设置为2,其它两个选项怎么设置,谢谢 有时会返
回
这样的错误信息Connection Refused, not authorized,会是什么情况呢。谢谢
问答
webman 的 redis 库 Redis::setNx 方法
不
是原子性的吗?
#### 背景描述 部署环境为分布式部署,定时任
务
期望其中某台服
务
器执行,故在代码中使用 Redis::setNx 来创建任
务
锁,期望拿到锁的服
务
器执行任
务
。php // 每天凌晨2点执行更新状态信息 new Crontab('0 2 * * *', function () { // 负载均衡下有多台服
务
器,所以拿到更新锁的服
务
器才能执行任
务
$lock = Redis::setNx('update_status_' . date('Y-m-d'), 1);if ($lock) { // 执行更新任
务
} }); ``` #### 结果 本地测试没有问题,但是在服
务
器中,多台服
务
器都会执行更新任
务
,请问问题出在哪里上次发版拉配置中心的配置,拉redis的配置失败了,导致走了默认的配置,应用服
务
器都连到自己所在服
务
器的redis了。
« 上一页
1
...
136
137
138
139
140
141
142
143
...
476
下一页 »
« 上一页
139
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝