久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

聊聊laravel7.0的廣播機制,總有你想要的!

laravel7.0廣播機制(Redis + socket.io)

廣播服務提供者

在廣播任意事件之前,首先需要注冊AppProvidersBroadcastServiceProvider。在新安裝的 Laravel 應用中,你只需要取消 config/app.php 配置文件中 providers 數組內對應服務提供者之前的注釋即可。該提供者允許你注冊廣播授權路由和回調

相關欄目教程推薦:《laravel教程

設置 Redis 連接

需要修改 .env 文件中的廣播驅動為 redis

BROADCAST_DRIVER=redis

建立 Event

php artisan make:event OrderShipped

執行上訴命令之后 app 目錄下會出現一個 Events 目錄,在該目錄下產生了廣播事件類 OrderShipped.php。我們要對自動生成的 OrderShipped 類進行以下修改

  • 增加對 ShouldBroadcast 的實現

  • 修改 broadcastOn 方法,使用公共廣播通道 orderStatus

  • 自定義廣播的消息名(非必須)【默認情況下,Laravel 會使用事件的類名來廣播事件,不過,你可以通過在事件中定義 broadcastAs 方法來自定義廣播名稱:】

  • 修改構造函數

完整修改如下 可直接替換

<?php namespace AppEvents; use IlluminateBroadcastingChannel; use IlluminateBroadcastingInteractsWithSockets; use IlluminateBroadcastingPresenceChannel; use IlluminateBroadcastingPrivateChannel; use IlluminateContractsBroadcastingShouldBroadcast; use IlluminateFoundationEventsDispatchable; use IlluminateQueueSerializesModels; class OrderShipped implements ShouldBroadcast {     use Dispatchable, InteractsWithSockets, SerializesModels;     //可添加任意成員變量     public $id;     //事件構造函數     public function __construct($id)     {         $this->id = $id;     }     //自定義廣播的消息名     public function broadcastAs()     {         return 'anyName';     }     /**      * Get the channels the event should broadcast on.      *      * @return IlluminateBroadcastingChannel|array      */     public function broadcastOn()     {         return new Channel('orderStatus');     } }

設置 api 路由

Route::get('/ship', function (Request $request) {     $id = $request->input('id');     broadcast(new OrderShipped($id)); // 觸發事件     return 'Order Shipped!'; });

安裝前端腳手架

composer require laravel/uiphp artisan ui vue --auth

Redis

因為咱們使用 Redis 廣播,需要安裝 Predis 庫:

composer require predis/predis

Redis 廣播使用 Redis 的 pub/sub 功能進行廣播;不過,你需要將其和能夠接受 Redis 消息的 Websocket 服務器進行配對以便將消息廣播到 Websocket 頻道

當 Redis 廣播發布事件時,事件將會被發布到指定的頻道上,傳遞的數據是一個 JSON 格式的字符串,其中包含了事件名稱、負載數據 data、以及生成事件 socket ID 的用戶

安裝 laravel-echo-server 訂閱 Redis Sub

如果使用 pusher 那么直接使只用 laravel 就可以了,如果使用 Redis + socket.io 則需要使用開源項目 laravel-echo-server 。所以我們現在要使用 laravel-echo-server

全局安裝

npm install -g laravel-echo-server

初始化 laravel-echo-server

laravel-echo-server init  // 是否在開發模式下運行此服務器(y/n) 輸入y ? Do you want to run this server in development mode? (y/N)// 設置服務器的端口 默認 6001 輸入 6001就可以了 或者你想要的 ? Which port would you like to serve from? (6001)// 想用的數據庫  選擇 redis ? Which database would you like to use to store presence channel members? (Use arrow keys)? redis   sqlite  //   這里輸入 你的laravel  項目的訪問域名 ? Enter the host of your Laravel authentication server. (http://localhost)// 選擇 網絡協議 http ? Will you be serving on http or https? (Use arrow keys)? http   https  // 您想為HTTP API生成客戶端ID/密鑰嗎 N ? Do you want to generate a client ID/Key for HTTP API? (y/N)// 要設置對API的跨域訪問嗎?(y/n)N Configuration file saved. Run laravel-echo-server start to run server.  //您希望將此配置另存為什么? (laravel-echo-server.json)回車就行 ? What do you want this config to be saved as? (laravel-echo-server.json)

啟動 laravel-echo-server

laravel-echo-server start
  • 成功啟動后會輸出以下日志
L A R A V E L  E C H O  S E R V E R  version 1.6.0  ⚠ Starting server in DEV mode...  ✔  Running at localhost on port 6001 ✔  Channels are ready. ✔  Listening for http events... ✔  Listening for redis events...  Server ready!

測試廣播

在瀏覽器上執行 http://yourhost/api/ship?id=16

Channel: laravel_database_orderStatus Event: anyName
  • laravel-echo-server 連接成功!

安裝 laravel-echo 的前依賴

由于前端使用的是 laravel-echo來收聽廣播,我們選擇的底層實現方式是socket.io。所以首先我們要在package.json中添加 laravel-echosocket.io的依賴

npm i --save socket.io-client npm i --save laravel-echo

編輯 resource/js/bootstrap.js 添加如下代碼

import Echo from "laravel-echo"; window.io = require("socket.io-client"); window.Echo = new Echo({     broadcaster: "socket.io",     host: window.location.hostname + ":6001" });

測試頁面

resources/views/ 下建立頁面 test.blade.php 內容為

<!doctype html> <html>  <head>     <meta charset="utf-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1">     <meta name="csrf-token" content="">     <title>News Room</title>     <link href="" rel="stylesheet"> </head>  <body>     <div class="content">         News Room     </div>     <script src=""></script>     <script>         Echo.channel("laravel_database_orderStatus") // 廣播頻道名稱     .listen(".anyName", e => {         // 消息名稱         console.log(e); // 收到消息進行的操作,參數 e 為所攜帶的數據     });     </script> </body>  </html>

js 代碼的意思是收聽 news 通道內的 News 事件對象,將接收到的事件在控制臺打印出來。

基本構建

npm install && npm run watch

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日韩不卡一区二区三区| 欧美日韩1区2区3区| 国产精品国码视频| 日韩黄色av| 亚洲人成在线影院| 日韩在线电影| 国产精品色在线网站| 久久av日韩| 日韩电影免费网站| 美女网站视频一区| 欧美一区二区性| 亚洲女人av| 国产调教精品| 精品久久国产一区| 99在线精品视频在线观看| 午夜精品婷婷| 日本免费新一区视频| 国产精品欧美一区二区三区不卡 | 色综合视频一区二区三区日韩 | 日韩精品视频网| 精品视频一区二区三区在线观看 | 亚洲影视一区| 免费在线成人| 亚洲精品在线观看91| 日韩精品91亚洲二区在线观看| 日韩一二三区在线观看| 久草精品视频| 免费精品视频在线| 成人国产精品久久| 久久国产精品99国产| 久久亚洲人体| 免费黄网站欧美| 亚洲国产成人二区| 欧美亚洲tv| 黄色成人91| 快播电影网址老女人久久| 综合亚洲色图| 国户精品久久久久久久久久久不卡 | 亚洲精品在线影院| 欧美日韩xxxx| 在线精品亚洲| 悠悠资源网久久精品| 综合日韩av| www在线观看黄色| 国产精品一区二区三区av麻| 水蜜桃久久夜色精品一区的特点| 国产一区二区三区精品在线观看 | 精品黄色一级片| 国产亚洲久久| 蜜臀久久99精品久久久久久9 | 色一区二区三区| 欧美精品1区| 日韩二区三区在线观看| 亚洲欧美高清| 亚洲男女av一区二区| 女同性一区二区三区人了人一| 国产成人精品亚洲日本在线观看| 日韩国产综合| 亚洲国产欧美日本视频| 亚洲日产国产精品| 亚洲欧美不卡| 精品一区二区三区亚洲 | 亚洲一区欧美二区| 日韩国产一区二区| 国产伦精品一区二区三区视频| 亚洲久久在线| 日韩欧美美女在线观看| 亚洲毛片网站| 天堂va欧美ⅴa亚洲va一国产| 久久亚洲风情| 久久国产精品毛片| 欧美日韩一区二区三区不卡视频 | 欧洲一区二区三区精品| 欧美日本三区| 国产欧美日韩精品一区二区三区| 欧美日韩国产高清| 影院欧美亚洲| 中文字幕日韩高清在线| 日韩1区2区日韩1区2区| 亚洲精品中文字幕99999| 日韩国产在线观看| 国产极品模特精品一二| 国产精品久久久久蜜臀| 久久久久久黄| 亚洲欧美日韩专区| 日韩av不卡在线观看| 精品国产亚洲一区二区在线观看| 鲁鲁在线中文| 免费日韩av| 久久精品国产久精国产爱| 色在线视频观看| 免费在线观看一区二区三区| 日韩高清电影免费| 亚洲久草在线| 国产高清视频一区二区| 成人av三级| 最新国产精品久久久| 日韩不卡一区| 蜜臀a∨国产成人精品| 精品高清久久| 免费久久精品视频| 国产成人精品一区二区三区视频| 欧美成人日韩| 国产精品久久久久久久久久白浆 | 欧美va天堂| 国产精品.xx视频.xxtv| 9色精品在线| 丰满少妇一区| 国产欧美丝祙| 日韩av一区二区在线影视| 日本欧美在线看| 久久久影院免费| 91成人在线| 久久高清国产| 99在线精品免费视频九九视| а√在线中文在线新版| 美女久久久久久| 日韩国产在线一| 蜜桃久久久久久久| 蜜桃久久精品一区二区| 欧美日韩国产在线一区| 欧美日韩精品在线一区| 蜜桃成人精品| 99久久久久| 国产精品一二| 国产福利一区二区三区在线播放| 91精品一区国产高清在线gif| 日韩精品免费视频人成| 美女毛片一区二区三区四区最新中文字幕亚洲| 精品国产精品国产偷麻豆| av在线最新| 国语精品一区| 日韩欧乱色一区二区三区在线| 日韩激情av在线| 亚洲一区日韩| 免费高潮视频95在线观看网站| 麻豆精品在线观看| 国产福利资源一区| 国产a亚洲精品| 精品一区在线| 日本精品另类| 在线日韩电影| 久久国产三级精品| 亚洲97av| 成人国产精品久久| 麻豆成人综合网| 日韩极品在线观看| 久久福利影视| 91视频久久| 亚洲精品一级| 亚洲免费黄色| 亚洲大全视频| 噜噜噜躁狠狠躁狠狠精品视频 | 国产精品一区二区三区美女| 久久精品av麻豆的观看方式| 久久精品国内一区二区三区| 欧美日韩亚洲国产精品| 日韩精品视频在线看| 日韩av中文字幕一区二区三区| 亚洲久久视频| 蜜桃视频一区二区| 久久久精品五月天| 岛国av在线播放| 精品伊人久久| 久久国产精品亚洲77777| 色88888久久久久久影院| 日本精品久久| 国产午夜久久av| 国产欧美亚洲精品a| 97精品在线| 国产精品传媒麻豆hd| 国产精品日韩久久久| 老色鬼久久亚洲一区二区| 麻豆精品一区二区综合av| 国产精品羞羞答答在线观看| 超级白嫩亚洲国产第一| 国产麻豆久久| 国产成人精品福利| 久久亚洲资源中文字| 99久久久久| 最新国产精品视频| 久久久91麻豆精品国产一区| 国产日韩一区二区三区在线| 久久伊人国产| 精品欧美激情在线观看| 亚洲精品在线影院| 精品欧美激情在线观看| 91亚洲精品视频在线观看| 国产不卡一区| 欧美日韩视频免费看| 福利视频一区| 亚洲另类视频| 精品视频自拍| 蜜桃av一区二区| 精品久久美女| 亚洲国产专区校园欧美| 欧美理论视频| 精品高清久久| 久久精品午夜| 91精品二区|