Has estado usando pusher, así que asumo que sabes cómo usar event.
Te recomiendo laravel-echo-server. Es muy fácil de usar, con una API integrada.
Aquí hay un nuevo ejemplo de un proyecto laravel-echo desde cero. Después de configurar el proyecto.
necesitará predis si aún no lo ha instalado
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- ejecute
npm install -g laravel-echo-server
- ejecutar
laravel-echo-server init
- quitar el comentario
App\Providers\BroadcastServiceProvider::class
enconfig/app.php
- añadir
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
en su aplicación.blade.php - necesita un cliente de socketio, puede ejecutar
npm install --save laravel-echo
.En caso de que no esté familiarizado con npm o vue, simplemente puede incluir este archivo compilado de mi proyecto github.compiledjs -
agrega esto 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 ejecute laravel-echo-server start y abra su proyecto, verá
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
puedes escuchar cualquier evento que quieras u otras notificaciones
-
aquí está mi proyecto de github echo-example
agregue un pequeño código para que pueda usar el mensaje de envío del cartero a un usuario específico. Puede ver el mensaje desde la consola de Chrome. Puede obtener más detalles de las capturas de pantalla del proyecto github