Você tem usado pusher, então suponho que você saiba como usar event.
Eu recomendo você laravel-echo-server. É muito fácil de usar, com uma API embutida.
Aqui está um novo exemplo de um projeto laravel-echo do zero. Depois de configurar o projeto.
você precisará de predis se ainda não o instalou
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- execute
npm install -g laravel-echo-server
- execute
laravel-echo-server init
- descomente
App\Providers\BroadcastServiceProvider::class
emconfig/app.php
- adicione
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
em seu app.blade.php - você precisa de um socketio-client, você pode executar
npm install --save laravel-echo
.Caso você não esteja familiarizado com npm ou vue, você pode simplesmente incluir este arquivo compilado do meu github project.compiledjs -
adicione isso 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 execute laravel-echo-server start e abra seu projeto, você verá
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
você pode ouvir qualquer evento que quiser ou outras notificações
-
aqui está meu exemplo de eco do projeto github
adicione um pequeno código para que você possa usar o postman send message para um usuário específico. Você pode ver a mensagem no console do chrome. Você pode obter mais detalhes nas capturas de tela do projeto do github