sql >> Database teknologi >  >> NoSQL >> Redis

Ønsker at implementere web-sockets i Laravel

Du har brugt pusher, så jeg antager, at du ved, hvordan du bruger begivenhed.

Jeg anbefaler dig laravel-echo-server. Det er meget nemt at bruge, med et indbygget api.

Her er et frisk eksempel på et laravel-ekko-projekt fra bunden. Når du har konfigureret projektet.

du skal bruge predis, hvis du ikke har installeret det endnu

composer require predis/predis
redis-server /usr/local/etc/redis.conf
  1. kør npm install -g laravel-echo-server
  2. kør laravel-echo-server init
  3. fjern kommentar App\Providers\BroadcastServiceProvider::class i config/app.php
  4. tilføj <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script> i din app.blade.php
  5. du har brug for en socketio-klient, du kan køre npm install --save laravel-echo .Hvis du ikke er bekendt med npm eller vue, kan du blot inkludere denne kompilerede fil fra min github project.compiledjs
  6. føj dette til 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. Kør endelig laravel-echo-server start og åbn dit projekt, du vil se

    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- 
       App.User.1
    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
    
  8. du kan lytte til enhver begivenhed, du ønsker, eller andre meddelelser

  9. her er mit github-projekt ekko-eksempel

tilføj en lille kode, så du kan bruge postmand send besked til specfic bruger. Du kan se beskeden fra chrome-konsollen. Du kan få flere detaljer fra github-projektets screenshots



  1. MongoDB GPG - Ugyldige signaturer

  2. Gå i dvale med MongoDB

  3. php mongodb find n'te post i samlingen

  4. Strengfeltværdilængde i mongoDB