sql >> Database >  >> NoSQL >> Redis

Wil je websockets in Laravel implementeren

Je hebt pusher gebruikt, dus ik neem aan dat je weet hoe je event moet gebruiken.

Ik raad je laravel-echo-server aan. Het is heel gemakkelijk te gebruiken, met een ingebouwde api.

Hier is een nieuw voorbeeld van een laravel-echo-project vanaf het begin. Nadat u het project hebt opgezet.

je hebt predis nodig als je het nog niet hebt geïnstalleerd

composer require predis/predis
redis-server /usr/local/etc/redis.conf
  1. voer npm install -g laravel-echo-server uit
  2. voer laravel-echo-server init uit
  3. verwijder commentaar App\Providers\BroadcastServiceProvider::class in config/app.php
  4. voeg <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script> toe in je app.blade.php
  5. je hebt een socketio-client nodig, je kunt npm install --save laravel-echo uitvoeren .In het geval dat u niet bekend bent met npm of vue, kunt u dit gecompileerde bestand gewoon opnemen van mijn github project.compiledjs
  6. voeg dit toe aan app.blade.php

    <script>
    window.Echo = new Echo({
    broadcaster: 'socket.io',
    
    host: '{{url('/').':6001'}}',
    });
    Echo.private(`App.User.{{Auth::id()}}`) // private channel
    .listen('NewMessage', (e) => {
        console.log(e)
    
    });
    
    
    </script>
    
  7. voer tenslotte laravel-echo-server start uit en open je project, je zult zien

    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- 
       App.User.1
    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
    
  8. je kunt naar elke gewenste gebeurtenis of andere meldingen luisteren

  9. hier is mijn github-project echo-voorbeeld

voeg een kleine code toe zodat je de postbode kunt gebruiken om een ​​bericht naar een specifieke gebruiker te sturen. Je kunt het bericht van de Chrome-console zien. Je kunt meer details krijgen van screenshots van het github-project



  1. MongoDB-onveiligheidsniveaus en hoe ze te vermijden

  2. Big Data Processing Engines - Welke gebruik ik?:Deel 1

  3. HBase-regio's samenvoegen

  4. Hoe kan ik de sessie-ID vinden bij gebruik van express / connect en een sessieopslag?