use Webman\Push\Api;
$api = new Api(
// webman下可以直接使用config获取配置,非webman环境需要手动写入相应配置
'http://127.0.0.1:3232',
config('plugin.webman.push.app.app_key'),
config('plugin.webman.push.app.app_secret')
);
$userId=1;
// 给订阅 user-1 的所有客户端推送 message 事件的消息
$api->trigger('private-user-'.$userId, 'message', [
'from_uid' => 2,
'content' => '你好,这个是消息内容'
]);
$userId
在不写死的情况下,如何监听或者获取到当前订阅的$userId
,并根据当前订阅$userId
,单独推送消息呢?
比如这段代码放控制器里,然后客户端传递要发送的userid
我一直是在process目录下定义一个类,通过Timer进行推送。按您这样说,那么我可否在push中auth认证的控制器中进行推送?
认证就做认证,不要在认证里推送,前端不一定收到,因为前端还没收到认证的返回数据
那总要一个触发的契机吧?
这样,如何去定位控制器?
什么时候触发,怎么触发根据自己业务写代码
谢谢
使用Timer一直推送数据,那么每个人订阅私有频道的人,或者取消订阅后。会不会导致内存累积。如果会,在webman/push中应该怎么删除timer
一直添加又不删除定时器会导致内存泄露,删除定时器用接口Timer::del()