您一直在使用pusher,所以我假设您知道如何使用事件。
我建议您使用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
- 取消注释
AppProvidersBroadcastServiceProvider::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-client,可以运行
npm install --save laravel-echo
。如果您不熟悉npm或vue,则可以从我的github项目中简单地包含此编译文件。编译js - 将此添加到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项目echo-example
添加一些代码,以便您可以使用邮递员向特定的用户发送消息。您可以从chrome控制台查看消息。您可以从github项目屏幕截图中获取更多详细信息



