首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5.4 Pusher (laravel-echo)无法访问专用通道

Laravel 5.4 Pusher (laravel-echo)无法访问专用通道
EN

Stack Overflow用户
提问于 2017-08-16 18:09:19
回答 1查看 1.1K关注 0票数 0

我一直在测试Laravel Echo,它在非私人频道上工作得很好。我接收通过该非私有通道上的事件传递的数据。但问题是,当我将事件设置为在私人频道上广播时,我收到一条错误消息,如下所示:注意:我是按照图片作为用户登录的。

因为我订阅了一个私人频道,所以在Laravel中,我访问了config/app.php,并且没有注释‘App\Providers\BroadcastServiceProvider::class,’。我还访问了App\Providers\BroadcastServiceProvider.php,并按照下面的图片使用了代码:

我的Resources/assets/js/bootstrap.js文件包含以下代码,并使用laravel mix进行了编译:

代码语言:javascript
复制
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');

window.Echo = new Echo({
  broadcaster: 'pusher',
  key: 'hiddenkey',
  cluster: 'ap1',
  encrypted: true
 });

window.Echo.private('chat-room.1')
      .listen('ChatMessageWasReceived', (e) => {
          console.log(e.user, e.chatMessage);
});

顺便说一下,我已经安装了所有的依赖项,即:- composer require pusher/ pusher -php-server,- npm install --save laravel-echo pusher-js,还使用对.env文件的引用配置了我的配置/broadcasting.php.php,这些文件输入了pusher所需的所有信息。一切正常,你可以看到一个非私有通道,我从事件接收数据,如下图所示:

下面是我创建的事件:

我正在接收私有通道、事件和数据,如图所示:

为什么即使我是已登录并经过身份验证的用户,并且在BroadcastServiceProvider.php文件中向Broadcast::channel()方法返回true,我也看不到从我的事件传递的数据?我从非私有通道接收数据,为什么不在私有通道中接收数据呢?我做错了什么?为什么我在控制台中得到这些错误,而不是数据:

代码语言:javascript
复制
- POST http://example.dev/broadcasting/auth 500 (Internal Server Error)
- Pusher : Couldn't get auth info from your webapp : 500

顺便说一句,我一直在学习这个教程,直到我被私人频道卡住了:https://mattstauffer.co/blog/introducing-laravel-echo

EN

回答 1

Stack Overflow用户

发布于 2017-08-17 12:52:38

这个问题的解决方案是私有通道应该有一个通配符。在您的Providers/BroadcastServiceProvider.php中,定义私有通道的授权时,您应该将私有通道的通配符放在‘{}’中。在我的例子中,应该是如下所示:

代码语言:javascript
复制
    Broadcast::channel('chat-room.{chatroomId}', function ($user, 
    $chatroomId) {} );

请注意,即使我在我的事件中定义了'chat-room.1‘作为我的私有通道的名称,我仍然必须按照上面的代码使用’{}‘作为通配符,而不是'1',因为私有通道应该具有通配符。您不能使用*作为通配符,因为这是问题所在。

希望这对任何人都有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45710724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档