Heim > PHP-Framework > Laravel > Detaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet

Detaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet

藏色散人
Freigeben: 2020-01-26 14:32:53
nach vorne
3670 Leute haben es durchsucht

Detaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet

1. Registrieren

https:// pusher.com/

2. Schlüssel, geheimen Schlüssel, App_ID usw. abrufen

2. Pusher konfigurieren

1. Pusher installieren

composer require pusher/pusher-php-server
Nach dem Login kopieren
'default' => env('BROADCAST_DRIVER', 'pusher'),
....
'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_KEY'),
            'secret' => env('PUSHER_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'cluster' => 'ap1',
                'encrypted' => true
            ],
        ],
.....
Nach dem Login kopieren

3. Ereignisse erstellen

wie folgt:

<?php
 
namespace App\Events;
 
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
 
class PusherEvent extends Event implements ShouldBroadcast
{
    use SerializesModels;
 
    public $info;
 
    /**
     * PusherEvent constructor.
     */
    public function __construct($info)
    {
        $this->info = $info;
    }
 
    /**
     * 指定广播频道(对应前端的频道)
     * Get the channels the event should be broadcast on.
     *
     * @return array
     */
    public function broadcastOn()
    {
        return [&#39;my-channel&#39;];
    }
 
    /**
     * 指定广播事件(对应前端的事件)
     * @return string
     */
    public function broadcastAs()
    {
        return &#39;my-event&#39;;
    }
 
    /**
     * 获取广播数据,默认是广播的public属性的数据
     */
    public function broadcastWith()
    {
        return [&#39;info&#39; => $this->info];
    }
}
Nach dem Login kopieren
2. Broadcast-Ereignisse erfordern keine Zuhörer; Broadcast-Ereignisse müssen die Schnittstelle ShouldBroadcast erben

4. Broadcast

1 .Trigger-Ereignis

event(new \App\Events\PusherEvent(&#39;测试&#39;));
Nach dem Login kopieren

2. Front-End-Code

<!DOCTYPE html>
<head>
  <title>Pusher Test</title>
  <script src="https://js.pusher.com/4.0/pusher.min.js"></script>
  <script>
 
    // Enable pusher logging - don&#39;t include this in production
    Pusher.logToConsole = true;
 
    var pusher = new Pusher(&#39;XXX&#39;, {
      cluster: &#39;ap1&#39;,
      encrypted: true
    });
 
    var channel = pusher.subscribe(&#39;my-channel&#39;);
    channel.bind(&#39;my-event&#39;, function(data) {
      alert(data.info);
    });
  </script>
</head>
Nach dem Login kopieren

ps:

1 auf

, daher müssen Sie das Zertifikat konfigurieren; andernfalls schlägt die Übermittlung fehl

2. Wenn Sie das Zertifikat nicht konfigurieren, müssen Sie die Curls

<🎜 festlegen > in und Triggers

https://pusher.com

Unten hinzugefügt:CURLOPT_SSL_VERIFYPEER

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
Nach dem Login kopieren
CURLOPT_SSL_VERIFYHOSTWeitere technische Artikel zum Laravel-Framework finden Sie im

Laravel-Tutorial

Kolumne! vender/pusher/pusher-php-server/lib/Pusher.php

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage