Задать вопрос
@potap_221

Чат larvel+vue (laravel-echo-server [socket.io])?

Добрый.
Хочу написать чат, использую 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 не подписан на событие ?
  • Вопрос задан
  • 953 просмотра
Подписаться 2 Средний 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
Ash22
@Ash22
разработчик CRM
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы