workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
文档
leaveGroup
leaveGroup(string $client_id, mixed $group); ``` 将client_id从某个组中删除,不再接收该分组广播(```Gateway::sendToGroup```)
发
送
的
数
据
注意:当client_id下线(连接断开)时,client_id会自动从它所属的各个分组中删除,也就是说无需在onClose回调中调用Gateway::leaveGroup ## 参
数
* ```$client_id``` 客户端的client_id * ```$group``` 只能是
数
字或者字符串。### 返回值 无返回值 ## 范例 ```php use \
GatewayWorker
\Lib\Gateway; class Events { ...
问答
workerman可以直接调用Thinkphp框架里的类和方法,为什么
GatewayWorker
却不可以?
1、我刚开始使用的是workerman框架,在workerman的业务逻辑中可以直接调用Thinkphp框架的全局方法函
数
。2、当我把workerman更换成
GatewayWorker
框架后,
发
现在
GatewayWorker
里调用不了任何Thinkphp的类和方法了,这是什么原因呢,难道是我的
GatewayWorker
没有成功与
问答
请老大指点这样的应用场景
我有这样的应用场景,客户端是游戏机,服务端是demo里的聊天代码做的gateway服务,游戏机开机后连接服务器,并生成支付
二
维码,用户扫描
二
维码支付,把
发
送
到服务端后,我检测该游戏机是否在线,在线则把支付信息转
发
给游戏机,不在线则退款给用户,这样一般没啥问题,但是由于没有采用游戏机与服务端的应答机
制
,游戏机的网络环境有时不太好,在
发
送
给游戏机时后,gateway里的
发
送
方法没有返回值,我并不知道
发
送
成功不成功,游戏机有没有接到支付信息,我服务端并不知道,只是单纯的以为在线就
发
送
过去了,但经常有游戏机没有接到支付信息的事情,这样用户支付了钱,游戏机并不知道,所以没让他玩,这样用户体验非常不好,但是现在我不知道怎么解决这样的一个问题,做个定时器轮询游戏机有没有回信息吗
分享
[php-serialize] 快速序列化和创建模拟
数
据
# Astral Serialize 文档 - [传
送
门](https://github.com/astral-data/php-serialize/tree/main) ## 快速开始 ####### 枚举转换 枚举转换提供了强大且灵活的枚举处理机
制
,支持多种枚举类型和转换场景。,允许在不同场景下精细地管理
数
据
转换。**安全性控
制
** - 防止敏感信息的意外泄露 - 精细控
制
数
据
的输入和输出 2.**
数
据
过滤** - 根
据
不同场景过滤字段 - 为不同的 API 或用户角色定
制
数
据
视图 3.
问答
基于webman编写的量化交易机器人【赞】
一个交易账号(账号
进
程)对应一个自定义
进
程,账号
进
程与交易所建立两个websocket长链接,接收信息实时计算、
发
送
交易指令; 账号
进
程内繁重的任务通过队列投递到消费者
进
程异步处理,如
数
据
库写入、调用RestApi、微信通知等; # 性能 每个交易
进
程每秒实时处理1500+的行情
数
据
; # 技术栈 - PHP多
进
程 - Linux事件EPoll非阻塞IO - 毫秒定时器 - 异步Socketx] 入仓通知 - [x] 浏览器爬虫插件 - [x] 定时更新技术指标 - [x] 定时解锁产品ID - [x] 自动平仓后自动解锁 - [x] 优化币种的行情订阅 - [x] 新增admin_id
数
据
限
制
| webman/event | 1.0.4 | | 定时任务 | workerman/crontab | 1.0.6 | |
数
据
库| illuminate/events | 8.83.27 | |
数
据
库ORM | illuminate/database | 8.83.27 | |
数
据
库ORM
问答
Linux使用
gatewayworker
需要额外配置一些东西吗?
但是目前使用
gatewayworker
,是否需要额外配置一些东西?还是说,下载完,就能用,而且非常稳定?还有一个问题,就是
gatewayworker
使用的mysql
数
据
库,可否为其他IP的服务器呢?(例如服务器是win系统的,然后用vmware装LINUX运行 ,但是MYSQL在WIN系统里)
问答
supportResponse 报错,啥情况
中 $request->session()->set('captcha', strtolower($builder->getPhrase())); // 获得验证码图片
二
进
制
数
据
$img_content = $builder->get(); // 输出验证码
二
进
制
数
据
return response($img_content,
问答
关于多
进
程的一个疑问[posix_kill]终止子
进
程之后,还可以看到子
进
程
fork一个子
进
程,在子
进
程中做while(1)循环,在父
进
程中间隔几秒之后,posix_kill给子
进
程
发
送
终止信号, 最后在ps 命令中还可以看到子
进
程的存在,只有父
进
程退出之后,子
进
程才一起消失liunx 中使用查看命令是: ```shell ps -aux | grep php ps --ppid pid[父
进
程的
进
程号] ps axjf | grep php ``` 代码如下:
问答
关于rawBody()原始请求post包体的
数
据
来源
#### 问题描述 一般获取php包体的
数
据
来源可以使用file_get_contents('php://input'), 我看了webman的原始包体请求方式$request->rawBody(),文件位置在Protocols\Http\Request.php中,其中构造函
数
$buffer的
数
据
哪来的,,也没看见实例化的地方,这个
数
据
是什么时候注入的;
问答
php后台推
送
消息,有时候消息会推
送
不成功
然后呢我为了,测试循环的1000消息推
送
,如果
发
送
的消息量大一些。循环到某一段的时候就会找不到uid,如果
发
送
的消息简单,比如就
发
送
哥 1或者2 1000条消息可以全部顺利
发
送
成, [attach]1328[/attach] 如果
发
送
失败,也应该return
分享
提一点希望,在B站,腾讯课堂,网易课堂多
发
视频教程,促
进
webman
发
展,
提一点希望,在B站,腾讯课堂,网易课堂多
发
视频教程,促
进
webman
发
展,视频讲座,比文档更加易懂,能够让更多普通人学习webman,
进
而促
进
促
进
webman
发
展。我们看到许多国产如thinkphp、织梦等产品,都是这样
发
展壮大的。
问答
客户端之间无法通讯
A客户端使用sendToUid方法
发
送
消息给B客户端(2个客户端一个是chrome,一个是Firefox),但是B客户端并没有收到A
发
消息的websocket请求,在A客户端
发
消息之前,使用isUidOnline方法检测
发
送
的目标Uid是在线的  图1
发
送
消息,对方在线 2.See http://doc2.workerman.net/send-buffer-to-worker-fail.html (4)nginx做了访问频率限
制
,客户端
发
起wss连接响应偶尔会报502错误[截图](//www.workerman.net/upload/20200103/035e0ee534f286.png) 图12
发
送
消息的关键
GatewayWorker
代码
问答
进
入deamon模式后
数
据
库报Error while sending QUERY packet
用debug模式运行时没有任务问题,但是只要
进
入deamon模式, mysql就会报> mysql_select_db Error while sending INIT_DB packet.
问答
Workerman如何链接
数
据
库服务
已经安装了mysql组件,对应的
数
据
库服务端口也开了,要在Events类里面去链接的
问答
验证器做
数
据
唯一性验证一直报错,是不支持验证还是我写的有错
#### 问题描述 使用illuminate/database
数
据
引擎,然后使用验证器做
数
据
唯一性验证一直报错,是不支持验证还是我写的有错 Illuminate\Support\Facades\Validator; 验证器使用的这个,应该是安装
数
据
时候自带的 #### 程序代码或配置 ``` $res = $request->post(); //
数
据
验证 $validator){ return $this->ajaxReturn(0,$validator); } ``` #### 重现问题的步骤 其中res是前端表单传过来的的
数
组报错
数
据
如下: !upload/img/20250217/1767b2e54eb4d4.png) #### 操作系统环境及workerman/webman等具体版本 最新版webman 操作系统 windows开
发
系统
文档
onBufferDrain
# onBufferDrain ## 说明: ```php callback Worker::$onBufferDrain ``` 每个连接都有一个单独的应用层
发
送
缓冲区,缓冲区大小由```TcpConnection该回调在应用层
发
送
缓冲区
数
据
全部
发
送
完毕后触
发
。一般与onBufferFull配合使用,例如在onBufferFull时停止向对端继续send
数
据
,在onBufferDrain恢复写入
数
据
。## 回调函
数
的参
数
``` $connection ``` 连接对象,即[TcpConnection实例](../tcp-connection.md),用于操作客户端连接,如[
发
送
数
据
](..connection) { echo "buffer drain and continue send\n"; }; // 运行worker Worker::runAll(); ``` 提示:除了使用匿名函
数
作为回调## 参见 onBufferFull 当连接的应用层
发
送
缓冲区满时触
发
问答
tdengine
数
据
库有大佬弄了orm的没
tdengine
数
据
库有大佬弄了orm的没
问答
关于
数
据
库配置和git更新代码的问题
#### 问题描述 关于本地开
发
和服务端部署的时候,如何处理服务端和本地的
数
据
库连接信息需要不一致的场景。 **目前webman最佳实践方法是什么呢?之前主要是用yii2框架,他们的方案是gitignore 里加入 *-local.php 这样的 local 配置文件,该类型文件会被git排除,框架引导的时候,会导入-local配置文件,这样服务端和开
发
端都有各自的配置文件,
数
据
库连接之类的配置信息就可以互不干扰了。
文档
调试busy
进
程
```的系统调用,这是在等待fd为16的描述符可读事件,也就是在等这个描述符返回
数
据
。如果没有显示任何系统调用,保留当前终端,重新再打开一个终端,运行```kill -SIGALRM 11725```(给
进
程
发
送
一个闹钟信号),然后看strace的终端是否有响应,是否阻塞在某个系统调用上```是一直在等待http服务端返回
数
据
,这解释了为什么
进
程处于```busy```状态 **解决:** 知道了
进
程阻塞在哪里,接下来就容易解决了,例如上面经过定位应该是业务在调用curl,而对应的url长时间没有返回
数
据
,导致
进
程一直等待。这时候可以找url提供者定位url返回慢的原因,同时应该在curl调用的时候加上超时参
数
,比如2秒没返回就超时,避免长时间阻塞卡死(这样
进
程可能会出现2秒左右的busy状态)。
问答
求博主指教workerman的
进
阶历程
但请先看看我的理由 我是一名编程爱好者,主要技能也是php,因为公司需要,自己学习了zookeeper(目的为了实现分布式事务控
制
)。基本也是实现了(
二
阶段提交)。方便其他单位使用,直观查看,控
制
,监控。(github上用来管理zookeeper的大多是Java) 机缘巧合下看到了workerman跟我想实现的类型相似,虽然本质上有区别。也看了博主跟读者的建议<<关于两年php程序员的
进
阶问题>>。我也是做了1年多的php,因为喜欢编程也爱专研,
进
步比一般人快。不想停留在应用层面上,知其然不知其所以然。现在的定位是学习workerman,开
发
自己的开源项目,掌握底层知识。一直以来没有
进
到有大牛的公司,都是自己到处碰壁多动手成长。希望能在博主这取得一些建议,少走弯路。早日成器!
« 上一页
1
...
79
80
81
82
83
84
85
86
...
431
下一页 »
« 上一页
82
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝