laravel 6.0 GatewayWorker 通讯
- 开发前准备
-
- [下载 GatewayWorker 及操作方式](#下载 GatewayWorker 及操作方式)
- 前端demo
- 测试效果
- 项目中安装GatewayClient
开发前准备
GatewayClient 官网:https://www.workerman.net/
当前使用的是宝塔操作
下载 GatewayWorker 及操作方式
前端demo
测试效果
项目中安装GatewayClient
php
composer require workerman/gatewayclient
绑定用户 和 消息推送
php
<?php
namespace App\Http\Controllers\Common;
use App\Exceptions\Exception\ErrorException;
use GatewayClient\Gateway;
require_once '../vendor/workerman/gatewayclient/Gateway.php';
class Push
{
public function __construct()
{
//注意:127.0.0.1:1238 的1238端口不是随意填写的 是在GatewayWorker/yourApp/start_gateway.php 里面
//$gateway->registerAddress = '127.0.0.1:1238'; 配置的
Gateway::$registerAddress = '127.0.0.1:1238';
}
/**
* Notes: 绑定用户
* Author: Seven
* Method: getUserBinding
* Date: 2023/11/29: 17:27
* @param $client_id
* @param $users_id
*/
public function getUserBinding($param)
{
if(empty($param['client_id'])) throw new ErrorException('缺少 client_id');
if(empty($param['users_id'])) throw new ErrorException('缺少 users_id');
Gateway::bindUid($param['client_id'],$param['users_id']);
dd($param['client_id']);
}
/**
* Notes: 推送信息
* Author: Seven
* Method: getSendPush
* Date: 2023/11/29: 17:42
* @param $users_id
* @param $content
*/
public function getSendPush($users_id,$type,$content){
$data = [
'type'=>$type,
'msg'=>$content,
];
Gateway::sendToUid($users_id,json_encode($data));
}
}
查看结果
调用推送的接口
到这里说明已经交互成功