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::classvconfig/app.php - přidat
<script src="https://cdn.jsdelivr.net/npm/example@sqldat.com/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