Не удается получить широковещательное сообщение с эхо-сервера laravel - PullRequest
0 голосов
/ 17 мая 2019

В laravel-echo-console:

L A R A V E L  E C H O  S E R V E R

version 1.5.2

⚠ Starting server in DEV mode...

✔  Running at localhost on port 6001
✔  Channels are ready.
✔  Listening for redis events...

Server ready!

[7:07:00 PM] - YSTAl2zDJP0HtuoCAAAA joined channel: public
[7:07:00 PM] - Sending auth request to: https://xxxxx/broadcasting/auth

[7:07:00 PM] - YSTAl2zDJP0HtuoCAAAA authenticated for: private-survey.2
[7:07:00 PM] - YSTAl2zDJP0HtuoCAAAA joined channel: private-survey.2


Channel: laravel_database_private-survey.2
Event: server.message

Все выглядит нормально, но я не могу получить это сообщение в браузере:

window.Echo.private('survey.2')
 .listen('.server.message', (e) => {
        console.log(e)  
});
e {events: {…}, name: "private-survey.2", socket: p, options: {…}, eventFormatter: t}

Мой класс событий:

   public function __construct($message)
    {
        $this->message = $message;
    }

    public function broadcastOn()
    {
        return new PrivateChannel('survey.2');
    }

    public function broadcastAs()
    {
        return 'server.message';
    }

В телескопе Laravel я вижу:

{
  message: "wdfwsfwf",
  socket: null
}

Это нормально, что сокет равен нулю?Также всегда 0 слушателей этого события.

Что не так?

1 Ответ

1 голос
/ 22 мая 2019

моя проблема была здесь Channel: laravel_database_ private-survey.2 изменить это на config/database.php

эхо должно присоединиться к "survey.2" в этом случае

если broadcasAs

 public function broadcastAs()
    {
        return 'server.message';
    }

echo должен прослушать ". server.message" - dot, прежде чем говорит, что не использует пространство имен - это событие, а не канал!

...