问题描述
我想在我的 Laravel 应用程序中触发一些实时事件,为此我尝试了 Laravel Web 套接字。 我创建了一个事件类并试图调用该事件,以便它显示在我的网络套接字仪表板上,但该事件返回 [NULL](我转储了事件的结果只是为了检查目的)
我按照以下步骤操作 -
-
我安装了文档中提到的 websockets 和 pusher PHP API。
-
我使用
启动了我的 websockets 服务器PHP artisan websockets:serve
-
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'); } }
-
我创建了我的路线只是为了触发事件。下面是我的路线
Route::get('/send-event',function () { 事件(新实时消息()); });
-
当我通过访问 '/send-event' 的路由调用该函数时,我的 websockets 仪表板中没有任何结果。我尝试转储该值,但结果为 NULL,也许这就是我在 websockets 仪表板中也没有触发事件的原因..
我在这里做错了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)