workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
如何在网关服务捕获Gateway::sendToClient()的
数
据
如何在网关捕获Gateway::sendToClient()的
数
据
问答
控
制
器里
发
送
队列正常 定时任务里
发
送
队列不执行
同一个队列 同一段代码 直接echo也确定执行了 但是在定时任务里面调用 \Webman\RedisQueue\Client::send() 就是不执行
文档
on
``` $callback_function ``` 事件
发
生时触
发
的回调函
数
。函
数
原型为```callback_function(mixed $event_data)```。```$event_data```是事件
发
布(publish)时传递的事件
数
据
。 注意: 如果同一个事件注册了两个回调函
数
,后一个回调函
数
将覆盖前一个回调函
数
。## 范例 多
进
程Worker(多服务器),一个客户端
发
消息,广播给所有客户端 start.php ```php <?; } }); }; $worker->onMessage = function(TcpConnection $connection, $data) { // 将客户端
发
来的
数
据
当做事件
数
据
$event_data = $data; // 向所有worker
进
程
发
布broadcast事件 \Channel\Client::publish('broadcast', $event_data
问答
workerman怎么实现一个
进
程一个端口监听不同的https网站
比如:一个
进
程,监听0.0.0.0:443地址,当有连接请求时,根
据
不同的域名,使用相对应的ssl证书去解密.就是先有一个socket,不设置ssl证书,等连接来时,根
据
不同的域名,给socket配置相应的证书, 不过我看https原理
发
现这样不通,https是先
进
性ssl握手,之后再将
数
据
返回到上层,
问答
请问使用
GatewayWorker
分布式
请问使用
GatewayWorker
做分布式部署还需要考虑服务器\
进
程之间的通信问题吗?比如是否需要用Channel来解决。
问答
还是UDP协议的问题
客户端使用UDP协议
发
送
数
据
给服务器之后,服务器无法获得客户端的真实IP地址,但是在onmessage()回调函
数
里使用send() 是可以返回
数
据
给 客户端的,我想咨询的是,服务器是否可以保存客户端信息,在想给客户端
发
送
信息的时候给客户端
发
送
信息,谢谢。
问答
Workerman 源码中,主
进
程关闭端口复用;为啥会让主
进
程创建mainSocket
$worker->listen(); } ------------ 关闭端口复用疑问: 1、“服务端套接字”为什么不直接通过forkWorkersForLinux() 在子
进
程创建;要在主
进
程创建“服务端套接字”,通过子
进
程复
制
父
进
程mainSocket 呢?请问是因为,关闭端口复用情况下;主
进
程单独监听端口,不会报出“端口被占用错误”? > // Remove other listener.创建出来的子
进
程,不应该只复
制
master的“服务端套接字”,为什么还要unlisten()?\socket_set_option($socket, \SOL_SOCKET, \SO_KEEPALIVE, 1); 4、SO_KEEPALIVE 连接复用,这个配置参
数
指的是长连接
问答
redis-queue怎么批量投递
数
据
呢
比如一个表里有个3,5万个
数
据
遍历投递很慢 foreach ($users as $data) { $queue = 'sms'; Redis:
问答
ai插件,怎么作为api 使用的时候如何处理返回消息
/app/ai/message/send 这个接口
发
送
了
数
据
后,返回的
数
据
php 怎么处理啊?感觉一个行一个好复杂
文档
响应
workerman支持
发
送
超大文件 - 对于大文件(超过2M),workerman不会将整个文件一次性读入内存,而是在合适的时机分段读取文件并
发
送
- workerman会根
据
客户端接收速度来优化文件读取
发
送
速度,保证最快速
发
送
文件的同时将内存占用减少到最低 -
数
据
发
送
是非阻塞的,不会影响其它请求处理 -
发
送
文件时会自动加上`Last-Modified`头,以便下次请求时服务端判断是否
发
送
304响应以节省文件传输提高性能http chunk
数
据
- 必须先
发
送
一个携带 `Transfer-Encoding: chunked`头的Response响应给客户端 -
发
送
后续chunk
数
据
使用`Workerman\ProtocolsWorkerman\Protocols\Http\Chunk类
发
送
$connection->send(new Chunk('第一段
数
据
')); $connection->send(newChunk('第
二
段
数
据
')); $connection->send(new Chunk('第三段
数
据
')); // 最后必须
发
送
一个空的chunk结束响应 $connection
问答
使用GatewayClient之后
数
据
库连接不会自动断开
每次有请求到接口中使用
数
据
库的地方都会新一个连接 使用完之后不会自动断开 达到最大请求
数
之后
数
据
库出1040 之前代码中没有使用gatewayclinet的时候没有出现这个情况
分享
webman 权限访问控
制
库 webman-permission
, 一个强大的、高效的开源访问控
制
框架,支持基于`ACL`, `RBAC`, `ABAC`等访问控
制
模型。当使用php-di后,开
发
者无需手动实例化`DatabaseAdapter`,webman会自动帮你完成。开
发
者不需要任何的初始化工作。# 适配器 'adapter' => webman\permission\adapter\DatabaseAdapter::class, #
数
据
库连接表通过权限认证'; } else { echo '对不起,您没有该资源访问权限'; } ``` ### 使用 Casbin Api 它提供了非常丰富的 `API`,以促
进
对 `Policy`
问答
请教:关于WebServer如何方便水平扩展
(多台):nginx负责所有请求分
发
,workerman处理
数
据
并返回给nginx。这种方案难点在于 nginx如何与worker通信,协议如何
制
定?客户端通过nginx转
发
给workerman处理,增加一层网络开销,性能是否会有影响? 2.2.3) 当有客户端请求来时,WebServer建立到Worker异步tpc连接 2.4) Worker处理完
数
据
返回给WebServer 2.5) Worker返回
数
据
给客户端 在这个设计中WebServer
进
程开启一个定时器,读取注册的业务服务器ip+port,采用某种算法(假设随机抽取)分
发
请求。不知道这种方案是否可行,有没有需要改
进
的地方??个人想法倾向是以第
二
种方式实现,请教各位!
问答
【已解决】think-orm访问国产化
数
据
库异常
#### 问题描述 think-orm访问国产化
数
据
库highdb 出现sql语句报错,
数
据
库类型是pgsql 其中某个报错的sql语句:`SELECT admin_role.*,pivot.* ASdelete_time" IS NULL`; 大神们如何解决这种
数
据
库解析出来的语句报错? #### 程序代码 ##### 1. 调用位置: !
问答
通过http协议post方式接收xml
数
据
解析不全
通过tcpdump抓包,真实传输
数
据
如下所示 ```xml Pragma: no-cache Content-Length: 334 Content-Type: text/xml <xml><ToUserName></EventKey> <MenuId>430813768</MenuId> </xml> ``` 但是通过var_dump($message)去打印,只有如下
数
据
array(1) { =>array(1) { ["CDATA=> string(0) "" } } 是不是workerman的http解析xml只是解析一部分
数
据
的原因?
问答
win下如何关闭worker
进
程
基于workerman-chat-for-win-master例程,在win下编写了控
制
台程序调用start_for_win.bat,调用时隐藏了bat的cmd窗口。控
制
台程序运行时能够顺利run wokerman的各个
进
程,问题是在win下如何统一关闭wokerman
进
程? 请大神们讲解一下。
问答
可以用PHP建立客户端接收Websocket
数
据
吗?
使用Workerman建立服务端之后,通常在客户端接收
数
据
是用JS的WebSocket,请问下可以用PHP建立WebSocket客户端接收
数
据
吗?PHP是以命令行方式运行,可以实现吗?
问答
TCP连接
数
据
库的增删改查怎么记录
#### 问题描述 我想有一个能记录
数
据
库增删改查sql的日志记录,我用了webman/log 我测试这个好像只能记录HTTP请求的记录。我想问下 TCP连接时的
数
据
库操作记录怎么做呀
问答
GatewayClient包使用问题
#### 问题描述 目前使用laravel 框架 引入了 GatewayClient包 文档中描述:通过GatewayClient
发
送
的
数
据
不会经过Event.php,而是直接经由Gateway
进
程转
发
给客户端
问答
Webman中有两个gateway ,Gateway::sendToUid()有时
发
送
不成功
#### 问题描述 webman中开启了两个gateway,对应的register分别为:127.0.0.1:6238和127.0.0.1:7238 当用下面的方法
发
送
消息时,客户端有时收不到消息,
« 上一页
1
...
87
88
89
90
91
92
93
94
...
434
下一页 »
« 上一页
90
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝