Hai usato pusher, quindi suppongo tu sappia come usare event.
Ti consiglio laravel-echo-server. È molto facile da usare, con un'API integrata.
Ecco un nuovo esempio di un progetto laravel-echo da zero. Dopo aver impostato il progetto.
avrai bisogno di predis se non l'hai ancora installato
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- esegui
npm install -g laravel-echo-server
- esegui
laravel-echo-server init
- decommenta
App\Providers\BroadcastServiceProvider::class
inconfig/app.php
- aggiungi
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
nella tua app.blade.php - hai bisogno di un client socketio, puoi eseguire
npm install --save laravel-echo
.Nel caso in cui non hai familiarità con npm o vue, puoi semplicemente includere questo file compilato dal mio github project.compiledjs -
aggiungilo a 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>
-
finalmente esegui laravel-echo-server start e apri il tuo progetto, vedrai
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
puoi ascoltare qualsiasi evento tu voglia o altre notifiche
-
ecco il mio esempio di eco del progetto github
aggiungi un piccolo codice in modo da poter utilizzare il postino invia il messaggio a un utente specifico. Puoi vedere il messaggio dalla console di Chrome. Puoi ottenere maggiori dettagli dagli screenshot del progetto github