Du har använt pusher, så jag antar att du vet hur man använder event.
Jag rekommenderar dig laravel-echo-server. Det är väldigt lätt att använda, med ett inbyggt api.
Här är ett nytt exempel på ett laravel-eko-projekt från grunden. När du har ställt in projektet.
du behöver predis om du inte har installerat det ännu
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
- avkommentera
App\Providers\BroadcastServiceProvider::class
iconfig/app.php
- lägg till
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
i din app.blade.php - du behöver en socketio-klient, du kan köra
npm install --save laravel-echo
.Om du inte är bekant med npm eller vue kan du helt enkelt inkludera den här kompilerade filen från min github project.compiledjs -
lägg till detta i 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 slutligen laravel-echo-server start och öppna ditt projekt, du kommer att se
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
du kan lyssna på vilket evenemang du vill eller andra meddelanden
-
här är mitt github-projekt echo-exempel
lägg till en liten kod så att du kan använda postman skicka meddelande till specifik användare. Du kan se meddelandet från chrome console. Du kan få mer information från github-projektets skärmdumpar