Saltar al contenido

El servidor Laravel Echo no responde nada en el navegador

Este dilema se puede tratar de variadas formas, por lo tanto te dejamos la resolución más completa en nuestra opinión.

Solución:

En total esto es lo que se requiere:

  1. Instalación predeterminada de Laravel
  2. el compositor requiere predis/predis
  3. Instalación de módulos NPM (laravel-echo-server, socket.io & laravel-echo)
  4. Configure Laravel Echo Server a través de la consola (principalmente configuraciones predeterminadas, excepto el nombre de dominio):

    "authHost": "http://echo",
    "authEndpoint": "/broadcasting/auth",
    "clients": [

    "appId": "fc3de97a1787ea04",
    "key": "ecf31edced85073f7dd77de1588db13b"

    ],
    "database": "sqlite",
    "databaseConfig":
    "redis": ,
    "sqlite":
    "databasePath": "/database/laravel-echo-server.sqlite"

    ,
    "devMode": true,
    "host": null,
    "port": "6001",
    "protocol": "http",
    "socketio": ,
    "secureOptions": 67108864,
    "sslCertPath": "",
    "sslKeyPath": "",
    "sslCertChainPath": "",
    "sslPassphrase": "",
    "subscribers":
    "http": true,
    "redis": true
    ,
    "apiOriginAllow":
    "allowCors": true,
    "allowOrigin": "http://echo:80",
    "allowMethods": "GET, POST",
    "allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"

  5. Configuración de Redis Server y conexión a él con el archivo Laravel broadcasting.php

'default' => env('BROADCAST_DRIVER', 'redis')

o BROADCAST_DRIVER=redis en el archivo .env

  1. Agregar ruta en web.php

Route::get('/test-broadcast', function()
broadcast(new AppEventsExampleEvent);
return response('OK');
);

  1. Agregar código en bootstrap.js:

importar eco desde ‘laravel-echo’

ventana.io = require(‘socket.io-cliente’);
ventana.Echo = new Echo(emisor: ‘socket.io’, host: ventana.ubicación.nombre de host + ‘:6001’ );

ADICIONAL

window.Echo.channel(‘MyChannel’) .listen(‘.ExampleEvent’, (e) => console.log(e); );

  1. Corriendo npm run dev para compilar todos los módulos de Javascript
  2. Corriendo laravel-echo-server start para iniciar Laravel Echo Server
  3. Corriendo php artisan queue:listen --tries=1 para iniciar la cola de escucha
  4. Accediendo a http://echo/test-broadcast

ACTUALIZADO

11.1 Ajuste los métodos para el evento de ejemplo para:

public function broadcastOn() return new Channel(‘MyChannel’);

public function broadcastAs() return ‘ExampleEvent’;

11.2 En welcome.blade.php, antes de la etiqueta BODY, agregue

11.3 en base de datos.php, establecer redix prefix para vaciar string valor

'prefix' => env('REDIS_PREFIX', '')

NO OLVIDES VOLVER A EJECUTAR npm run dev y borrar caché del navegador

Resultados

cola en ejecución

Resultados de la consola de Laravel Echo Server

Cliente y servidor junto

Reseñas y puntuaciones del post

Si te gustó nuestro trabajo, eres capaz de dejar una sección acerca de qué le añadirías a este artículo.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *