当前位置: 首页 > 后端技术 > PHP

搭建你的Laravel即时应用(一)——项目初始化搭建

时间:2023-03-29 15:56:41 PHP

搭建你的Laravel即时应用(一)——项目初始化搭建关于即时应用在现代web应用开发中,即时交互的场景越来越多,比如场景有:即时聊天、即时通知、第三方登录、扫码登录等功能,都需要接入即时场景来完善。以往,为了实现这种即时通信,让客户端正确响应处理结果,最常用的技术是轮询。由于HTTP协议的单向性,客户端只能一次又一次主动向服务器请求处理结果。这种方式有明显的缺陷,不说占用服务器资源,而且也不能实时获取服务器的处理结果。现在,我们可以使用WebSocket协议来处理实时交互,这是一种双向协议,允许服务器主动向客户端推送信息。在本文中,我将使用Laravel构建一个即时通知应用程序。需要应用以下知识:LaravelBroadcastEvent(广播事件)RedisVueLaravel-Echo(一)、广播系统配置实现Laravel即时应用需要配合Laravel广播事件系统实现:https://laravel.com/docs/5.6/...首先你需要恢复被注释掉的广播服务提供者,在文件==config/app.php==Illuminate\Broadcasting\BroadcastServiceProvider::class然后在.在env文件中配置广播系统的选项BROADCAST_DRIVER=redis#这里为了演示方便,可以根据实际情况配置QUEUE_DRIVER=sync然后需要跟redis包。上面的广播系统需要应用到这里。composerrequirepredis/predisRedis的配置在==config/database.php=='redis'=>['client'=>'predis','default'=>['host'=>env('REDIS_HOST','127.0.0.1'),'password'=>env('REDIS_PASSWORD',null),'port'=>env('REDIS_PORT',6379),'database'=>0,],'cache'=>['host'=>'redis_cache_server_01','password'=>null,'port'=>6379,'database'=>1,],],(二,)Laravel-echo-server安装首先我们需要通过npmglobal安装laravel-echo-servernpminstall-glaravel-echo-server然后开始初始化laravel-echo-serverlaravel-echo-serverinit会需要进入一些配置,可以参考下面的截图来设置向上。PS:在实际生产环境中,记得关闭开发模式。接下来,我们将运行laravel-echo-server。laravel-echo-serverstart的正常输出会是这样的(如图)。如果您有任何问题,请详细检查您的配置。以上准备工作做好后,实战就开始推送和监听消息了。