Používali jste pusher, takže předpokládám, že víte, jak používat událost.
Doporučuji vám laravel-echo-server. Použití je velmi snadné, s vestavěným rozhraním API.
Zde je čerstvý příklad projektu laravel-echo od nuly. Po nastavení projektu.
budete potřebovat predis, pokud jste jej ještě nenainstalovali
composer require predis/predis
redis-server /usr/local/etc/redis.conf
- spusťte
npm install -g laravel-echo-server
- spusťte
laravel-echo-server init
- zrušte komentář
App\Providers\BroadcastServiceProvider::class
vconfig/app.php
- přidat
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>
ve vašem app.blade.php - potřebujete klienta socketio, můžete spustit
npm install --save laravel-echo
.V případě, že nejste obeznámeni s npm nebo vue, můžete jednoduše zahrnout tento kompilovaný soubor z mého projektu github.compiledjs -
přidejte to do 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>
-
nakonec spusťte laravel-echo-server start a otevřete svůj projekt, uvidíte
[20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- App.User.1 [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
-
můžete poslouchat libovolnou událost nebo jiná oznámení
-
zde je můj příklad echa projektu github
přidejte malý kód, abyste mohli použít pošťák k odeslání zprávy konkrétnímu uživateli. Zprávu můžete vidět z konzole Chrome. Další podrobnosti můžete získat ze snímků obrazovky projektu github