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() 中我们不需要任何中间件。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...