Вы использовали pusher, поэтому я предполагаю, что вы знаете, как использовать событие.
Я рекомендую вам laravel-echo-server. Он очень прост в использовании со встроенным API.
Вот свежий пример проекта laravel-echo с нуля.После настройки проекта.
вам понадобится предисловие, если вы еще не установили его
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/socket.io-client@2.1.1/dist/socket.io.js"></script>
в ваш app.blade.php - вам нужен socketio-клиент, вы можете запустить
npm install --save laravel-echo
. Если вы не знакомы с npm или vue, вы можете просто включить этот скомпилированный файл из моего проекта на github. 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
вы можете прослушать любое событиеВы хотите или другие уведомления
вот мой проект GitHub эхо-пример
добавить небольшой код, чтобы выВы можете использовать почтальон отправить сообщение конкретному пользователю. Вы можете увидеть сообщение из консоли Chrome. Вы можете получить более подробную информацию на скриншотах проекта github