Добрый.
Хочу написать чат, использую laravel-echo-server (socket.io)
Во vue через axios, отправляю в контроллер сообщение
в контроллере вызываю ChatEvent::dispatch( $request->input('message') )
в event записываю в переменную и вызываю Chanel('chat')
во vue слушаю 6001 порт и когда срабатывает event, должен отработать код внутри, но он не работает
EVENT
public $message;
public function __construct($message)
{
$this->message = $message;
}
public function broadcastOn()
{
return new Channel('chat');
}
public function broadcastAs()
{
return 'ChatEvent';
}
BOOTSTRAP.JS
import Echo from 'laravel-echo';
window.io = require('socket.io-client')
if (typeof io !== 'undefined') {
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});
} else{
console.log('errors socket.io, => bootstrap.js line 33')
}
VUE
mounted()
window.Echo.channel('chat')
.listen('ChatEvent', (e) =>
{
console.log(123)
})
},
после отправки сообщения в консоль Laravel-echo-server приходит
Channel: chat
Event: ChatEvent
-------------------------
вроде со стороны сервера все ок, наверное Echo не подписан на событие ?