2017-02-25 287 views
1

我有一個問題,我現在正在嘗試整天修復。我跟着 this教程。目標是與Laravel echo,vue.jspusher進行聊天。Laravel回聲推送器未收到廣播事件

我已經完成了一切與教程完全一樣,但由於某種原因,我沒有收到我的pusher控制檯中的任何事件。只有連接出現:enter image description here

但沒有事件發生。我火災的事件是這樣的:

<?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.4Vue.js 2.0Homestead。這裏會發生什麼?!

回答

0

它看起來喜歡你是以下this教程。我也很難弄清楚。我已經回答了here。你能檢查一下嗎?

我在聊天系統中打字功能。請查看GitHub上的代碼。

讓我知道如果您有任何問題。謝謝:)

0

通過調試控制檯的屏幕截圖,您從未嘗試訂閱任何頻道,您是否爲私人頻道訂閱設置了必要的身份驗證?

您一直在遵循的教程的完整演示代碼是on github,因此您可能需要查看該代碼並查看您的不同之處。

0

如果您使用的是Laravel 5.4,請確保您已設置通道驗證。

例如,在你routes/channels.php文件,應該是這樣的:

Broadcast::channel('chat', function ($user) { 
    return true; // change this to your authentication logic 
});