workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
想将请参
数
直接绑定在控
制
器方法上有什么好方法?
#### 问题描述 框架默认将request对象传入控
制
器方法中,然后参
数
都从request对象中获取,我想要的是请求参
数
能直接绑定方法上。) { return json(['code' => 0, 'msg' => 'ok', 'req'=>[$id, $name]]); } 请求传id和name两个参
数
过来时,直接在方法的$id, $name这个参
数
上。
问答
gatewayworker
做IM系统的疑问
gatewayworker
做消息推
送
的时候, app应用在后台运行 不能接受到信息 这个怎么解决 这种必须要实现 xmpp或者mqtt才行么
问答
redis-queue多
进
程下消费如何保证不重复入库的问题
#### 问题描述 大概是我这边在处理队列
数
据
时需要判断表中是否存在,不存在就向表中插入
数
据
,存在的话就更新这条
数
据
,这个逻辑在单
进
程下正常,但是多
进
程下,会出现重复入库的问题。下面代码:以day为条件查询是否存在了当天的统计记录,存在就更新统计,不存在就新增一条当天的统计记录,但是多个
进
程下,好多个
进
程取到的都是当天不同时刻的
数
据
,我这边判断只能以日期判断,造成
数
据
重复入库问题想过在表中加入唯一索引,这样写入时会抛出异常,当前
数
据
重回队列等待下次消费,但是x次后
数
据
就被丢弃了,对这个当日统计记录来说会存在丢
数
据
的风险,求大佬给指点下。]; Db::table('statistic')->insert($data); } ``` 本问题不在讨论,感觉是弯路,但是下面大佬关于锁的指点确实很有启
发
,
问答
webman
数
据
库模型beforeInsert..怎么写?
webman
数
据
库模型beforeInsert,afterInsert,beforeWrite怎么写? 之前用tp,Illuminate不熟悉
问答
请问gateway怎么
发
送
hex文件到硬件上啊?
如题,就是需要更新硬件上的软件,想通过在线升级的方式,将这个hex文件
发
送
到硬件
问答
[Websocket]如何向指定终端
发
送
消息?
我启动了一个websocket服务(websocket协议),然后打开了浏览器,打开了两个浏览器标签页与其建立连接(通过js原生的Websocket对象),然而,实际上我
发
现connections只有一个,这导致我无法向指定的标签页
发
送
信息。请问,如何向指定的客户端
发
送
信息? ----------------------------分割线---------------------------- 我是按照如下方式
发
现多个标签页用的是同一个connection的。**首先**,在join或login时打印workerId和$connection->id拼成的字符串(logEvent是我自定义的日志输出函
数
) [attach]1866[/attach] [attach
问答
客户端
发
送
心跳后被服务器端拒绝
## 客户端心跳为3s ### 服务器端设置为5s*1 客户端重连后带心跳 依旧不能持久 这个机
制
其实我依旧没搞明白,求教下!!!! 此处只有一个客户端连接,特意测试心跳问题 
问答
想问下,客户端如何获得自己的UID,并只给自己
发
送
消息。
就是聊天室,自己
进
入房间,只获得房间信息,或者聊天信息,只向自己推
送
。而不是又全部客户端推
送
一次。
分享
worderman工业
数
据
采集挺好用的
worderman工业
数
据
采集挺好用的
问答
怎么看存在memache里地
数
据
呢
怎么看存在memache里地
数
据
呢
问答
GatewayWorker
定时器
1.如果是onConnect时启动一个定时器定时查询
数
据
(因为客户端没有主动上报),连接关闭时删除这个定时器。**但是当
进
程reload时应当怎么处理,定时器应该是当前
进
程管理的吧** 2.如果在onWorkerStart时启动一个定时器处理这个
进
程的所有连接,**reload时怎么获取这个
进
程处理的所有连接(
问答
Workerman改
进
建议
Gavin
发
了几个workerman改
进
意见,这里记录下
发
几个关于workerman的意见 一 没有主
进
程启动与结束回调 这两个回调的一个用途是用于与外部工具协作,例如服务
发
现。在register_shutdown_function或者在onWorkerStop
进
行结束回调也是不可取的,workerman并未提供方法判断当前
进
程是主
进
程还是worker
进
程。
二
注册回调函
数
的方式并不好 这个属于见仁见智,但主流做法是使用on($event, callable $callback)
进
行注册,我也更倾向于这个做法,包装起来更方便。另一个原因是,call_user_func本身有性能损失,因为相当于多了一级函
数
调用,回调注册的方式可以直接$callback($args);callable本身会
进
行类型检查;总之是好处多多。当然,因为作为一个常驻型的程序,autoload带来的性能损失可以忽略不计;但是,对于使用composer管理包的开
发
者来说,似乎并无此必要。 以上意见,有的可能属于鸡蛋里挑骨头,请酌情考虑。
问答
请问是否有一个多个
进
程间互通的全局变量?
使用的是
GatewayWorker
,我想实现一个变量记录最近的聊天记录,不通过
数
据
库。任何新用户连接上来,看到的都是相同的全局的最近的聊天记录。不过考虑到写在event.php中,多
进
程模式下,这个变量的值就不一致了,会导致新用户如果连接的work
进
程不一致,看到的这个变量值就不一致了。 请问是否有相应的类似于全局一致的这种变量可以使用呢?或者在哪个文件中定义这个变量,就可以使不同的work
进
程读取操作到同一个变量呢? 还请各位高手指点一下,谢谢~
问答
AsyncTcpConnection 应该放在onWorkerStart,onConnect还是onMessage函
数
里面?
workerman既作为客户端又作为本地推
送
服务器,AsyncTcpConnection 应该放在onWorkerStart,onConnect还是onMessage函
数
里面?1、如果AsyncTcpConnection 放在onConnect函
数
里,本地用户每次连接是不是都会触
发
AsyncTcpConnection 的建立?2、如果AsyncTcpConnection 放在onWorkerStart里,怎么才可以把异步获取的
数
据
推
送
给本地socket客户端?
问答
$worker->onMessage 对 http 协议没有作用吗?
Worker 代码: ```php $worker = new Worker('http://192.168.50.168:8800'); // 这里
进
程
数
必须设置为1 $worker->count= 1; // worker
进
程启动后建立一个内部通讯端口 $worker->onWorkerStart = function($worker) { // 开启一个内部端口,方便内部系统推
送
数
据
,里面有uid,表示向那个uid的页面推
送
数
据
$data = json_decode($buffer, true); $uid = $data; print_r($data); // 通过workerman,向uid的页面推
送
数
据
$ret = sendMessageByUid($uid, $buffer); /connection->uid = $data; /* 保存uid到connection的映射,这样可以方便的通过uid查找connection, * 实现针对特定uid推
送
数
据
问答
异步任务中,使用了Gateway
发
送
不了信息给websocket 客户端
我在websocket服务里绑定了uid了,但是再AsyncTcpConnection异步任务中,使用了Gateway::sendToClient中
发
送
不了信息给websocket 客户端,当前是在异步任务监听器里处理任务,但是消息
发
来的时候,
发
送
不了对应绑定的websocket客户端 #### 程序代码或配置 !/img/20240923/2366f11b0b7857.png) #### 重现问题的步骤 这里写步骤 这个异步任务监听器处理任务的类,但是用了Gateway::sendToClient ,无法
发
送
给对应
问答
设备
发
送
字节码怎么正常打印
#### 问题描述 这里写问题具体描述 设备向tcp服务器
发
送
的字节码如何怎么解析使用呢?这是我的问题还是设备那边的问题呢 !
问答
webman/admin 多
数
据
库 读取前缀出错
webman/admin 多
数
据
库 读取前缀出错 plugin/xxx/app/admin/controller 目录里 新增 ArticleController ```json /*** 构造函
数
*/ public function __construct() { $this->model = new Articles();} ``` Article和 管理后台不在同一个
数
据
库 就会默认读取 管理后台的前准 而不是读取的Article模型配置文件里面的前准
问答
gatewayworker
中php.ini文件内容解读
打开php.ini文件,
发
现只有以下内容: extension="mongo.so" extension="memcache.so" extension="memcached.so" extension="redis.so" apc.enabled=1 apc.enable_cli=1 查看
gatewayworker
的文档,
发
现检查禁用函
数
检查有以下内容: !
问答
请教定时器如何连接Gatway?
/Workerman/Autoloader.php'; $worker = new Worker(); // 开启多少个
进
程运行定时任务,注意多
进
程并
发
问题 $worker->count = 3; $worker->onWorkerStart = function ($worker) { } ``` 定时器启动文件start_timer 启动后,无法使用Gatway::sendtogroup()等方法
发
送
数
据
但是使用Github上提供的GatewayClient库 可以正常
发
送
消息 初步判断是Timer未能连接Gateway导致 也尝试过添加 `$worker->registerAddress = '127.0.0.1:1238';` 但是依然是不能连接,使用 php start.php status 查看gateway的连接
数
没有任何变化 请教一下,这个问题怎么破?
« 上一页
1
...
76
77
78
79
80
81
82
83
...
436
下一页 »
« 上一页
79
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝