我想使用网络套接字在Laravel中实现网络通知。我尝试过推杆。这很容易,但是它是付费的。我还尝试了redis和socket.io,必须为其安装Horizon。我正在运行Windows,但根据我对地平线的了解,无法在Windows上安装它。
所以我对推送通知非常困惑。我正在尝试至少一个星期,但尚未找到任何解决方案。我的前端在angluar 5 / android中,后端在Laravel 5.6中。
您能否建议我一些实施推送通知的好主意?
您一直在使用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
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>
npm install --save laravel-echo
<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>
[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项目屏幕截图中获取更多详细信息