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
- kør
npm install -g laravel-echo-server - kør
laravel-echo-server init - fjern kommentar
App\Providers\BroadcastServiceProvider::classiconfig/app.php - tilføj
<script src="https://cdn.jsdelivr.net/npm/example@sqldat.com/dist/socket.io.js"></script>i din app.blade.php - 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 -
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> -
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 -
du kan lytte til enhver begivenhed, du ønsker, eller andre meddelelser
-
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