Vous avez utilisé pusher, donc je suppose que vous savez comment utiliser event.
Je vous recommande laravel-echo-server. C'est très facile à utiliser, avec une API intégrée.
Voici un nouvel exemple d'un projet laravel-echo à partir de zéro. Après avoir configuré le projet.
vous aurez besoin de predis si vous ne l'avez pas encore installé
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- exécuter
npm install -g laravel-echo-server
- exécutez
laravel-echo-server init
- décommentez
App\Providers\BroadcastServiceProvider::class
dansconfig/app.php
- ajouter
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
dans votre app.blade.php - vous avez besoin d'un client socketio, vous pouvez exécuter
npm install --save laravel-echo
.Si vous n'êtes pas familier avec npm ou vue, vous pouvez simplement inclure ce fichier compilé à partir de mon projet github.compiledjs -
ajoutez ceci à 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>
-
enfin lancez laravel-echo-server start et ouvrez votre projet, vous verrez
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
vous pouvez écouter n'importe quel événement que vous voulez ou d'autres notifications
-
voici mon exemple d'écho de projet github
ajoutez un peu de code pour que vous puissiez utiliser le facteur envoyer un message à un utilisateur spécifique.Vous pouvez voir le message depuis la console chrome.Vous pouvez obtenir plus de détails à partir des captures d'écran du projet github