cavaon-wayne / pusher-php-client
Cavaon pusher for Laravel project
v2.0.0
2019-08-22 09:15 UTC
Requires
- illuminate/contracts: 5.2.x|5.3.x|5.4.x|5.5.x|5.6.x|5.7.x
- illuminate/queue: 5.2.x|5.3.x|5.4.x|5.5.x|5.6.x|5.7.x
- illuminate/support: 5.2.x|5.3.x|5.4.x|5.5.x|5.6.x|5.7.x
- lcobucci/jwt: ^3.2
- pusher/pusher-php-server: 2.6.4
This package is not auto-updated.
Last update: 2024-09-28 08:00:21 UTC
README
安装
composer require cavaon-wayne/pusher-php-client
Laravel 5.5 使用包自动发现,因此不需要您手动添加 ServiceProvider。
Laravel 5.5+
如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组
Cavaon\Pusher\ServiceProvider::class,
如果您想更方便地访问 Pusher 或 Event 类,请在 app.php 中的 facades 添加以下内容
'CavaonPusher' => Cavaon\Pusher\Facade::class, 'CavaonEvent' => Cavaon\Pusher\Events\Event::class,
使用方法
在使用之前,请记住在 config/broadcasting.php
中设置您的 App Id 和 App secret,它们通过 cavano-pusher-server 的 .env
文件分配给您
'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_KEY'), //ANY DUMMPY STRING WILL DO 'secret' => env('PUSHER_SECRET'), //YOUR SECRET HERE 'app_id' => env('PUSHER_APP_ID'), //YOUR APP ID HERE 'options' => [ "host"=>env('PUSHER_HOST'), // YOUR PUSHER SERVER HERE, eg 'http://192.168.1.1' "port"=>env('PUSHER_HOST_PORT'), //YOUR PUSHER SERVER PORT HERE, eg '37037' ], ],
您需要获取由该 Pusher 生成的 JWT 令牌和 APP Id,并将它们传递给您的 socket.io 客户端
$wsHostURL=CavaonPusher::getHostURL(); $token=CavaonPusher::getToken();
以下是如何在您的 socket.io 客户端中使用它们的示例
var socket = io('{{$wsHostURL}}',{ rememberUpgrade:true, query:{ channel:"[your-channel-name]", token:"{{$token}}" }, }); socket.on('[your-event-name]', function(data){ //use JSON.parse to decode the json string of data. console.log(data); });
广播
向您的 socket.io 客户端广播事件
$data=["id"=>1,"name"=>"Sydney day tour","price"=>100.5]; event(new CavaonEvent('your-channnel-name','your-event-name',$data));
如果您不使用 sync
驱动程序来处理队列,请记住运行 make queue listening
php artisan queue:listen