微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 Laravel Websockets 将事件数据接收到 Websockets 仪表板

如何解决无法使用 Laravel Websockets 将事件数据接收到 Websockets 仪表板

我想在我的 Laravel 应用程序中触发一些实时事件,为此我尝试了 Laravel Web 套接字。 我创建了一个事件类并试图调用该事件,以便它显示在我的网络套接字仪表板上,但该事件返回 [NULL](我转储了事件的结果只是为了检查目的)

我按照以下步骤操作 -

  1. 我安装了文档中提到的 websockets 和 pusher PHP API。

  2. 我使用 PHP artisan websockets:serve

    启动了我的 websockets 服务器
  3. 我在下面创建了一个 Fresh Laravel 事件

     namespace App\Events;
    
     use Illuminate\broadcasting\Channel;
     use Illuminate\broadcasting\InteractsWithSockets;
     use Illuminate\broadcasting\PresenceChannel;
     use Illuminate\broadcasting\PrivateChannel;
     use Illuminate\Contracts\broadcasting\Shouldbroadcast;
     use Illuminate\Foundation\Events\dispatchable;
     use Illuminate\Queue\SerializesModels;
    
     class RealTimeMessage implements Shouldbroadcast
     {
       use SerializesModels;
    
       public $message;
    
       /**
       * Create a new event instance.
       *
       * @return void
       */
       public function __construct()
       {
         $this->message = "Hello World";
       }
    
       /**
        * Get the channels the event should broadcast on.
        *
        * @return \Illuminate\broadcasting\Channel|array
        */
       public function broadcastOn()
       {
         return new Channel('realtimeMessage');
       }
     }
    
  4. 我创建了我的路线只是为了触发事件。下面是我的路线

    Route::get('/send-event',function () { 事件(新实时消息()); });

  5. 当我通过访问 '/send-event' 的路由调用函数时,我的 websockets 仪表板中没有任何结果。我尝试转储该值,但结果为 NULL,也许这就是我在 websockets 仪表板中也没有触发事件的原因..

在这里做错了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。