Използвали сте pusher, така че предполагам, че знаете как да използвате event.
Препоръчвам ви laravel-echo-server. Много е лесен за използване, с вграден API.
Ето един свеж пример за laravel-echo проект от нулата. След като настроите проекта.
ще ви трябва predis, ако все още не сте го инсталирали
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- изпълнете
npm install -g laravel-echo-server
- изпълнете
laravel-echo-server init
- разкоментирайте
App\Providers\BroadcastServiceProvider::class
вconfig/app.php
- добавете
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
във вашия app.blade.php - имате нужда от socketio-client, можете да стартирате
npm install --save laravel-echo
.В случай, че не сте запознати с npm или vue, можете просто да включите този компилиран файл от моя github project.compiledjs -
добавете това към 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>
-
накрая стартирайте laravel-echo-server start и отворете своя проект, ще видите
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
можете да слушате всяко събитие, което искате, или други известия
-
ето моят echo-пример на github проект
добавете малко код, за да можете да използвате пощальон да изпрати съобщение до конкретен потребител. Можете да видите съобщението от конзолата на Chrome. Можете да получите повече подробности от екранните снимки на проекта github