Laravel эхо паспорт с помощью socket.io
Я пытаюсь настроить веб-сокеты для своего приложения, которое я разрабатываю, используя Ionic и Laravel в качестве серверной части.
Сетевые сокеты работают, но когда я пытаюсь сделать их приватными, я получаю сообщение об ошибке.
Чтобы запустить приложение, я запускаю ionic serve
, Сервер работает с камердинером и для запуска сервера событий и socket.io, на котором я работаю php artisan horizon
а также laravel-echo-server start
,
Как я уже говорил, розетки работают публично, но когда я установил PrivateChannel
в моем вещателе это быстро ломается.
Код, который я использую для прослушивания события на канале journey.{id}
является
this.echo = new Echo({
broadcaster: 'socket.io',
host: 'http://localhost:6001',
encrypted: true,
authHost: 'https://app.dev/',
authEndpoint: 'api/broadcasting/auth',
auth:{
headers: {
Accept: 'application/json',
Authorization: 'Bearer ' + key
}
}
});
return this.echo.private('journey.' + id);
Я тогда слушаю это на странице, поскольку этот код находится в поставщике.
На стороне сервера у меня есть строка Broadcast::routes(['middleware' => ['web', 'auth:api']]);
в моем routes/api.php
,
надеюсь, вы можете помочь! если вам нужна дополнительная информация, просто спросите.