一:场景
目前的项目中(laravel+vue 前后分离)有一个入金充值的功能,用户点击入金按钮 请求第三方接口,第三方将处理结果返回给指定的回调地址
前台要根据处理结果跳转到不同的页面,可以使用轮询 订单状态,然而想通过websocket方式来处理. 前后台通过laravel-echo-server 建立websocket连接.后台利用laravel的广播功能 如果第三方返回结果 那么将结果通知前端,前端根据结果跳转到不同页面
laravel
的广播系统和队列系统类似,需要两个进程协作,一个是 laravel
的 web
后台系统,另一个是 Socket.IO
服务器系统。具体的流程是页面加载时,网页 js
程序 Laravel Echo
与 Socket.IO
服务器建立连接, laravel
发起通过驱动发布广播,Socket.IO
服务器接受广播内容,对连接的客户端网页推送信息,以达到网页实时更新的目的。
二:过程
2.1 安装 Laravel-echo-server
npm install -g laravel-echo-server
在项目根目录 输入
laravel-echo-server init
根据提示一步一步操作
完了执行laravel-echo-server start 开始服务