如何解决laravel 广播私人 chanel 中的广播不起作用我使用 laravel echo
事件是:
public $chat ;
public function __construct($chat)
{
$this->chat = $chat;
}
public function broadcastOn()
{
// return new Channel('recieve-chat');
return new PrivateChannel('recieve-chat' );
}
routes/channels.php 是:
Broadcast::channel('recieve-chat',function ($user ) {
return true;
// return $user->id === $reciever_id;
});
在刀片文件中:
<script>
window.addEventListener('DOMContentLoaded',function () {
Echo.private('recieve-chat')
.listen('ChatBroad',(e) => {
window.livewire.emit('recieve:' + e.chat.bid_id,e.chat);
$(chatScrollDown('.chat'+ e.chat.bid_id ));
});
});
</script>
广播频道工作正常。但在 PrivateChannel 中不起作用。并且在控制台中没有显示任何错误
我使用 laravel echo 和 pusher
解决方法
在 App\Providers\BroadcastServiceProvider.php 中
public function boot()
{
Broadcast::routes();
require base_path('routes/channels.php');
}
必须喜欢代码。在 Broadcast::routes() 中我们不需要任何中间件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。