workerman
首页
问答
分享
手册
市场
商业
客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
gateway worker没有根
据
client_id或uid查寻已加入哪些群组的方法吗?
#### 问题描述 问题1: gateway worker当群组一成员因网络问题掉线了以后(非正常退出),能否根
据
该成员重新登录的client_id或uid查询已经加入的群组id(文档没找到相关接口)问题2: 用户在一个群组房间里面
进
行游戏,怎么判断对方是否一直在线或掉线或已经退出房间,不知道这个方案是否可行(或者有没有更佳的方案):创建一个房间后,每个成员都要
发
送
心跳包到房间,然后服务器在群
发
消息里面返回各个成员的在线状态
问答
向不存在的表写入
数
据
应该提示错误,确没有提示
#### 问题描述 这里详细描述问题 向一个不存在的表test2,插入
数
据
,却不提示错误,启动命令行也没有想关错误 #### 程序代码 public function view(Request $Edition) workerman/workerman ^5.1 || dev-master webman: versions : * v2.1.1 启用了协程,协程用的swoole 5.1.5版本 ,另外控
制
器复用也启用了的
问答
为什么我ab测试
数
据
库部分,比原生php+mysql慢?
为什么我ab测试
数
据
库部分,比原生php+mysql慢? 慢了好多 不知道哪里调整  这个是webman的测压
数
据
webman比原生慢了大概10倍 直接输出字符串无mysql交互,webman
问答
无限级关系表存储处理
示例以下一组
数
据
!](/upload/img/20230404/04642b8b11076b.png) 需要随时查关系下所有人或者部分满足条件的人,并且可能存在其他关联表的筛选条件,是按方式一存储来循环查询,还是方式
二
的存储一次查询方式
二
存的记录太多了,改变一个关系涉及
数
据
太广。大伙还有没有其他推荐的方式 如下,有这么个需求,遇到2就不往下查,是1就一直往下查,最终只取1连续的
数
据
,
数
据
量大不能一次取出来完,要分页查询 !
问答
我用框架里的redis incr自增之后的结果高并
发
起来
数
据
会错乱
[](//www.workerman.net/upload/20210223/236034ce78d17d.png) 不但不连贯 还有很多重复
数
据
? 是什么情况?
文档
onConnect
# onConnect ## 说明: ```php callback Worker::$onConnect ``` 当客户端与Workerman建立连接时(TCP三次握手完成后)触
发
的回调函
数
。注意:onConnect事件仅仅代表客户端与Workerman完成了TCP三次握手,这时客户端还没有
发
来任何
数
据
,此时除了通过```$connection->getRemoteIp()```获得对方ip,没有其他可以鉴别客户端的
数
据
或者信息,所以在onConnect事件里无法确认对方是谁。要想知道对方是谁,需要客户端
发
送
鉴权
数
据
,例如某个token或者用户名密码之类,在[onMessage回调](on-message.md)里做鉴权。## 回调函
数
的参
数
``` $connection ``` 连接对象,即[TcpConnection实例](../tcp-connection.md),用于操作客户端连接,如[
发
送
数
据
](..
问答
关于异步任务
能否自动切换到第
二
台服务器吗?127.0.0.1,如果是集群就是lvs的ip $task_connection = new AsyncTcpConnection('Text://127.0.0.1:12345'); // 任务及参
数
数
据
send_mail', 'args' => array('from'=>'xxx', 'to'=>'xxx', 'contents'=>'xxx'), ); //
发
送
数
据
问答
如何在onMessage下的定时器中用$connection->send
发
送
前台传来的
数
据
?
问答
解决
Gatewayworker
负载均衡不均PR,
#### 问题描述 还请
Gatewayworker
大佬去看看呢,实现思路也比较简单。Gateway 内部维护一个
数
组结构,后续上线的businessworker 初始化0,后续谁的连接
数
小就优先分
发
给谁。分布式部署如果businessworker 性能不足的时候,需要增加几十个worker干活,新来的客户端连接会优先分配给刚上线businessworker
进
程,直到他们与运行已久的
进
程连接
数
相同,才会逐个轮训,最终达到连接
数
均匀。
问答
关于$router路由函
数
gateway在给worker
发
送
消息的时候,不是可以使用路由函
数
$router么,所以我想能不能,用$router使不同的client绑定不同的worker,如果在$router新建worker,是不是只要还有就是,可能需要查看worker的信息,gateway里面有没有保存worker的信息,能不能访问,我看gateway里面保存的worker的connection
数
组是protected的。
问答
websocket连不上
gatewayworker
各位大神,websocket连不上
gatewayworker
怎么回事?
gatewayworker
能启动。协议的问题也看过了,但是就是连不上。
问答
开
发
基础插件,如何实现助手函
数
#### 问题描述 开
发
基础插件,如何实现助手函
数
,可以在项目内直接使用插件的方法
问答
这个问题很头疼,控
制
器构造注入始终为单例
```cmd // 安装webman框架 composer create-project workerman/webman //
进
入目录 cd webman // 安装依赖注入 PHP-DI composerdoctrine/annotations ^1.14 ``` config/app.php ```php return [ 省略其他…… 'controller_reuse' => false, // 控
制
器复用已关闭Test $test) { var_dump($test->get()); } public function index() { } } 控
制
台输出) 在dependence.php配置为非单例,控
制
器构造仍然为单例。控
制
器构造注入始终为单例。 控
制
器方法注入除了注入类,其他也都是单例。比如:A -> B、C、D 只有A是新实例,B、C、D均为单例。
问答
workerman重连的问题
我想在一个js里面对workerman
进
行重新连接房间,并
发
送
一个状态,然后每次都是还没连接成功就那句状态就
发
出去,结果报了workerman未连接的错误 js我是先断开workerman再连接后
发
送
状态,可是每次都是断开后就
发
送
状态,然后才返回了连接成功,使用回调函
数
也不好使,请问这个有什么方法可以解决吗
问答
GatewayWorker
发
布在启动后
发
生tcp:/127.0.0.1:2902无法连接,但我没写过2902连接啊。。
我尝试把我的
gatewayWorker
上传去我的linux(redhat)然后开启start.php。但是得到了关于无法连接2902的说法,只是我印象中我根本没有开启过2902,或者是它自备的。
问答
Workerman
发
布5.1版本 Webman
发
布2.1版本,协程支持
# Workerman
发
布5.1版本 * 要求PHP>=8.1 * 提供Workerman\Coroutine类,底层自动适配Swoole、Swow、Fiber协程 * 提供协程相关的组件,例如 Context2.1版本 * 要求PHP>=8.1 * 依赖Workerman 5.1 * 支持Workerman 5.1的协程及组件 *
数
据
库、redis等库的改造 #### webman 2.1协程组件如果有使用
数
据
库 redis等组件,需要同步升级,参见[升级到v2.1](https://www.workerman.net/doc/webman/upgrade/2-1.html) #### 相关文档从压测
数
据
来看,在充分利用CPU的情况下,引入协程极限性能一般会下降10-20%。 但是在有慢IO业务中,引入协程确实会大幅度提升性能。#### 建议 * 协程不是必须的 * 旧项目不建议无脑开启协程,这有可能带来因全局变量污染问题导致的
数
据
错乱 * 新项目可以考虑使用协程,但是没有必要为了协程而使用协程 * 旧项目遇到慢IO相关的业务可以考虑单独启动一组
进
程开启协程处理
问答
请问如何实现“定时器添加和删除放在同一个
进
程”
使用
GatewayWorker
,在Events类中需要实现: 4
进
程,在一个多用户房间内,服务器设定一个定时器,20秒后取消。但是还剩下15秒的时候,服务器需要取消该定时器。请问如何实现“定时器添加和删除放在同一个
进
程”? 场景: 一个房间有6个人,6回合你画我猜。10秒选词,60秒画,5秒答案展示。这个方法尝试过吧timerid存在
数
据
库,读取出来清除,但是不成功。 可能过程中,设定定时器和5秒时消除定时器不在一个
进
程,所以总是清除不成功……
问答
workerman里的
进
程与子
进
程
worker初学者 目前正在读手册,读到设置worker
进
程
数
和onWorkerReload属性时产生疑问 想知道在使用worker的过程中,worker实例的多个
进
程分别是什么时候启动的,onWorkerReload属性的讲解中,子
进
程又是什么?
问答
error4
大神,我使用
gatewayworker
有一段时间了,现在在workerman日志中
发
现了error4的问题,这个错误貌似从我一开始使用
gatewayworker
就出现了,只是之前一直没有注意,然后我根
据
提示查看了http://wiki.workerman.net/Error4文档,上面说检查本机是否有程序链接Register服务,于是我根
据
workerman日志上面提示的pid,查了一下路径,如图所示,其中cwd表示
进
程运行目录,exe我在网上看到了两种解释,一个说是
进
程类型,一个说是
进
程运行的绝对路径。
问答
好像
发
现个BUG
问题详细信息: 我定义了简单的路由: Route::any('/test/request', function($request) { return response(); }); 访问时(没有任何参
数
): 用Get、Post、Put均没有问题,用Delete方式访问时,第一次正常返回200,第
二
次返回400,第三次返回200,第四次又返回400(循环)。。。
« 上一页
1
...
110
111
112
113
114
115
116
117
...
429
下一页 »
« 上一页
113
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝