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::class
iconfig/app.php
- tilføj
<script src="https://cdn.jsdelivr.net/npm/[email protected]/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