【发布时间】:2023-03-21 04:11:01
【问题描述】:
我有一整天都在尝试解决的问题。我已经关注
this 教程。目标是与Laravel echo、vue.js 和pusher 聊天。
我已经按照教程完成了所有操作,但由于某种原因,我的pusher 控制台中没有收到任何事件。只显示连接:
但没有事件。我触发的事件如下所示:
<?php
namespace App\Events;
use App\Message;
use App\User;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class MessageSent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* @var
*/
public $user;
/**
* @var
*/
public $message;
/**
* MessageSent constructor.
* @param User $user
* @param Message $message
*/
public function __construct(User $user, Message $message)
{
$this->user = $user;
$this->message = $message;
}
/**
* Get the channels the event should broadcast on.
*
* @return Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('chat');
}
}
我这样触发事件:
broadcast(new MessageSent($user, $message))->toOthers();
当我 dd('test'); 在我的 MessageSent 事件类中这样:
public function broadcastOn()
{
dd('test');
return new PrivateChannel('chat');
}
dd('test'); 出现在我的网络标签中。
我将Laravel 5.4 和Vue.js 2.0 与Homestead 一起使用。这里会发生什么?!
【问题讨论】:
标签: php laravel websocket vue.js pusher