Laravel不消耗Pusher事件

问题描述 投票:1回答:1

这一直是一个长期存在的问题,现在和我开始之前是我尝试过的,我在哪里寻找解决方案。

我试过的几件事

我确保我的群集对于我正在使用的应用程序是正确的:https://laracasts.com/discuss/channels/laravel/pusher-is-not-receiving-my-message?page=1 我的集群是eu

我尝试了所有名称空间的变体: https://laracasts.com/discuss/channels/laravel/echo-broadcast-event-listener-not-being-triggered .App.Events.DefaultPusherEventApp\Events\DefaultPusherEvent.DefaultPusherEvent等...

我的情景

因此,我正在尝试使用Laravel和Pusher来处理实时更新,因此最终我可以实现实时通知+未来我们需要的任何其他内容。

在Laravel文档之后我能够向我的推送应用程序广播。

Its Working...

所以那里没有问题,我唯一的问题就是尝试使用Laravel的echo甚至Pusher的vanilla代码来消耗这个事件。

我之前遇到过这个问题,我的解决方案是不使用私人频道(因为它们对我来说根本不起作用)。但现在我需要这个功能。

进展

在发布这个问题之前,我重新制作了Laravel的全新装置并再次进行了检查,但结果是一样的。我甚至建立了一个登录系统,以确保它不是因为我的用户不是因为我的用户没有登录到应用程序。

ListenForPusherEvents(){
    Echo.private(`datalev`)
        .listen('DefaultPusherEvent', (e) => {
            console.log(e);
            console.log('Something');
        });
}

此外,我没有控制台错误,因为我已经使用pusxswpoi目录验证了用户

这是为私人频道验证用户的代码。

'broadcasting/auth'
php laravel pusher laravel-echo pusher-js
1个回答
2
投票

确保您的broadcast / auth路由正确返回带有auth密钥的JSON对象。 Pusher使用它来验证您对频道的订阅。

过程如下:

  1. 你的客户想要订阅,并询问Laravel是否可以(/ broadcast / auth AJAX调用)
  2. 你的Laravel确认它没关系,并告知推杆;您将获得一个通过AJAX发送回客户端的唯一身份验证密钥
  3. 然后,您的JavaScript可以使用从Laravel收到的auth密钥订阅Pusher频道,这被Pusher称为有效密钥,因此Pusher将接受它。
© www.soinside.com 2019 - 2024. All rights reserved.