workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
怎么看存在memache里地
数
据
呢
怎么看存在memache里地
数
据
呢
问答
大佬们本地webman搞下来之后websocket控
制
台连接测试失败,http也起不来了 ,重新来更新了,已经解决了,结果在最后
#### 问题描述 大佬们本地webman搞下来之后websocket控
制
台连接测试失败, 尝试了各种姿势 结果就是一个字 fail !>>>>>>>>>>>>>> // // 处理代码业务 // // >>>>>>>>>>>>>>>>>>>>>>> // // //
发
送
数
据
$return_ret 推
送
的
数
据
// $connection->send(json_encode($return_ret)); // });
问答
gateway中使用mysql
start_gateway.php我现在是使用file_get_content去GET查询
数
据
库。 ```php <?new Gateway("websocket://0.0.0.0:2000"); // gateway名称,status方便查看 $gateway->name = 'Device'; // gateway
进
程
数
* *
数
据
库示例,假设有个your_db_name库,里面有个user表 */ class Events { /** * 新建一个类的静态成员,用来保存
数
据
库实例 */public static $db = null; /** *
进
程启动后初始化
数
据
库连接 */ public static function onWorkerStart,根
据
发
来的命令打印2个用户信息 * @param int $client_id
发
消息的client_id * @param mixed $message 消息 * @return
问答
Workerman改
进
建议
Gavin
发
了几个workerman改
进
意见,这里记录下
发
几个关于workerman的意见 一 没有主
进
程启动与结束回调 这两个回调的一个用途是用于与外部工具协作,例如服务
发
现。在register_shutdown_function或者在onWorkerStop
进
行结束回调也是不可取的,workerman并未提供方法判断当前
进
程是主
进
程还是worker
进
程。
二
注册回调函
数
的方式并不好 这个属于见仁见智,但主流做法是使用on($event, callable $callback)
进
行注册,我也更倾向于这个做法,包装起来更方便。另一个原因是,call_user_func本身有性能损失,因为相当于多了一级函
数
调用,回调注册的方式可以直接$callback($args);callable本身会
进
行类型检查;总之是好处多多。当然,因为作为一个常驻型的程序,autoload带来的性能损失可以忽略不计;但是,对于使用composer管理包的开
发
者来说,似乎并无此必要。 以上意见,有的可能属于鸡蛋里挑骨头,请酌情考虑。
问答
关于2.0版本,在其他项目中推
送
消息问题
php use \Workerman\Worker; use \
GatewayWorker
\Gateway; use \Workerman\Lib\Timer; use \Workerman\Autoloader/Workerman/Autoloader.php'; Autoloader::setRootPath(__DIR__); // gateway
进
程 $gateway = new Gateway("Text://0.0.0.0:2529"); // 名称,以便status时查看方便 $gateway->name = 'Send_HnAnimal_ToPhp_Gateway'; //
进
程
数
,建议与cpu核
数
相同 $gateway->count = 2; // 分布式部署时需要设置成内网ip $gateway->lanIp = '127.0.0.1'; // 内部通讯起始端口,假如$gateway/
GatewayWorker
/Lib/Gateway.php on line 603` 然后,我增加 // 服务注册地址 $gateway->registerAddress = '127.0.0.1:
问答
想将请参
数
直接绑定在控
制
器方法上有什么好方法?
#### 问题描述 框架默认将request对象传入控
制
器方法中,然后参
数
都从request对象中获取,我想要的是请求参
数
能直接绑定方法上。) { return json(['code' => 0, 'msg' => 'ok', 'req'=>[$id, $name]]); } 请求传id和name两个参
数
过来时,直接在方法的$id, $name这个参
数
上。
问答
调用远程
GatewayWorker
API报错
当前项目是在 我本地Windows开
发
调试的
GatewayWorker
是运行在阿里服务器上的 (不处理任何逻辑) 本地怎么调用远程
GatewayWorker
的api接口 当前我是这么做的 但是会报错20220915/156322f42ad211.png) 具体报错是 本地Geteway类里的 sendBufferToGateway() 方法里的 stream_socket_sendto()这个函
数
问答
关于协程的咨询,Fiber
#### 问题描述 现在写的一个项目遇到个问题,就是后台有个监听程序监听rabbitmq的推
送
消息,收到消息后保存到
数
据
库,后来
发
现这个程序隔夜后就无法写入
数
据
了,原因是
数
据
库的wait_timeout设置了3600秒,监听rabbitmq的程序是阻塞模式,所以就把
数
据
库给断开了,walkor老大建议我使用协程模式让
数
据
库连接变成连接池模式,照做后
发
现问题确实貌似解决了,但是遇到了新问题,服务器上安装swoole困难重重,后来打算使用Fiber的协程,但是在文档里看到明确写着`当使用Fiber驱动时,遇到阻塞IO时,协程不会
发
生切换,
进
程
进
入阻塞状态。
文档
joinGroup
Gateway::joinGroup(string $client_id, mixed $group); ``` 将client_id加入某个组,以便通过```Gateway::sendToGroup```
发
送
数
据
可以通过```Gateway::getClientSessionsByGroup($group)```获得该组所有在线成员
数
据
。可以通过```Gateway::getClientCountByGroup($group)```获得该组所有在线连接
数
(人
数
)。 该方法对于分组
发
送
数
据
例如房间广播非常有用。**注意:** 1、同一个`client_id`**可以**加入多个分组,以便接收不同组
发
来的
数
据
。5、目前没有获得所有分组id接口,所有分组可以自行存入
数
据
库或者其它存储中。 6、分组
数
量无上限。
问答
推
送
1次,偶
发
出现1个用户收到多个消息
#### 问题描述 服务器的
发
信息到群组,结果用户A收到了2条消息,这个是偶
发
,有些时候3条。 加入群组的时候,是把clientid加入
进
去。出现收到多个消息的时候,
发
现1个用户会存在多个clientid,即便手动去closeclientid,也会过一会再次出现一个用户多个(getClientIdByUid函
数
获取用户对应的clientid)2.因为多个clientid,于是收到了对应
数
量的消息通知?
分享
Veitool基于Webman版后台开
发
框架开源
发
布
## 一、框架基本介绍 基于`Workerman5.x + Webman2.x + Think-orm4.x + Layui2.9.x`架构,拥有完善的菜单、角色、权限管理机
制
,集成了常用的管理构建模块,用户可快速便捷的在此基础上
进
行
二
次开
发
、配置、扩展功能。同样支持在线构建插件,可快速实现构建开
发
模块。php start.php start -d ``` 执行成功后,在浏览器中输入你的网址+端口访问即可,如:http://127.0.0.1:8787 第一次运行系统会自动跳到安装页引导
进
行配置安装。##
二
、反向代理配置 ``` #PROXY-START/ location ^~ /static/ { root /www/wwwroot/yourProjectDir/public; #
问答
webman/admin 多
数
据
库 读取前缀出错
webman/admin 多
数
据
库 读取前缀出错 plugin/xxx/app/admin/controller 目录里 新增 ArticleController ```json /*** 构造函
数
*/ public function __construct() { $this->model = new Articles();} ``` Article和 管理后台不在同一个
数
据
库 就会默认读取 管理后台的前准 而不是读取的Article模型配置文件里面的前准
问答
business worker busy时
因为
数
据
库连接问题,造成business worker busy时,解决后重启socket这时候会不会出现大量
数
据
处理并
发
送
还是只要socket重启后。不管是否已完成
发
送
都会丢失?
问答
为何给客户端推
送
消息有时成功有时失败呢?
我的需求是根
据
需求给客户端某个用户推
送
消息,代码如下: ```php <?php use Workerman\Worker; include_once __DIR__ .parseClientContentToArray($data); //print_r($data); if (empty($data['sid'])) { echo 'sid 参
数
缺失send($data['data']['content']); if ($result === true) { echo "消息
发
送
成功\r\n"; } else if ($result === false) { echo "消息
发
送
失败\r\n";echo "目标用户已下线,消息
发
送
失败\r\n"; } break; default: //echo "未匹配到方法
问答
不懂为何在断开连接后还能在$_SESSION中准确的获取已断开的用户
数
据
我是用Gateway结合TP5学习写了下聊天室deom, 登录时在TP5使用Gateway的setSession接口存
数
据
, //存到session中 Gateway::setSession($client_id,); 用户断开在时GawayWworker的Events中的onClose触
发
方法中使用 $_SESSION获取
数
据
居然可以准确的获取到已断开连接用户的
数
据
, 不是断开后改用户的
数
据
就没了吗?而且是怎么准确的获取到已断开连接用户的
数
据
?
问答
gatewayWorker
心跳问题
关于心跳问题请教下大家,使用
Gatewayworker
搭建的webSocket服务端,客户端是Arduino 参照文档做了心跳设置: !在vendor\workerman\gateway-worker\src\Gateway.php 打印几个参
数
,
发
现Gateway总是检测不到心跳,导致连接关闭,不知道哪里不对 !
问答
关于使用mqtt做异步消息分
发
问题
#### 问题描述 我单独开了一个
进
程,异步请求
数
据
后,往mqtt里面publish
数
据
,但是我
发
现一个问题,在new mqtt client的时候,如果写在onMessage里面,就会出现很多mqtt连接,如果写在onMessage外面,则会只publish一次,导致没有后续
数
据
,我现在只能publish一次后,close掉,然后重新connect 然后重新close。
问答
服务端如何实现实时传输
数
据
给客户端?
想客户连接
进
来之后,就一直推
送
消息给客户端。 onMessage 只能实现有消息时
问答
我想把短信
发
送
类里面的curl换成workerman/http-client,请问会有什么问题吗?
#### 问题描述 我想把短信
发
送
类里面的curl换成workerman/http-client,请问会有什么问题吗? 会不会有一些奇怪的问题?在其他文件里调用这个类中的函
数
,又是如何返回的呢?
问答
客户端
发
送
汉字是乱码其他正常
#### 问题描述 这里写问题描述 给客户端
发
汉子就变成了这样\u661f\u661f,ssh连接的控
制
台上也显示的这样\u661f\u661f,修改了php.ini配置文件default_charset
« 上一页
1
...
78
79
80
81
82
83
84
85
...
445
下一页 »
« 上一页
81
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝