🌱 超级简单的 RPC 服务插件

v0.0.2 版本
2022-06-07 版本更新时间
398 安装
8 star

简介

通过自定义进程实现一个简单的RPC调用

安装

composer require tinywan/rpc

使用

服务端服务

新建 service/User.php 服务(目录不存在自行创建)

namespace service;
class User
{
    public function get($uid)
    {
        return json_encode([
            'uid'  => $uid,
            'name' => 'webman'
        ]);
    }
}

客户端调用

webman框架使用

use Tinywan\Rpc\Client;
$request = [
    'class'   => 'User',
    'method'  => 'get',
    'args'    => [2022]
];
$client = new Client('tcp://127.0.0.1:9512');
$res = $client->request($request);
var_export($res);

非webman框架使用(如:TP6框架调用)

$client = stream_socket_client('tcp://127.0.0.1:9512');
$request = [
    'class'   => 'User',
    'method'  => 'get',
    'args'    => [2022]
];
fwrite($client, json_encode($request)."\n"); // text协议末尾有个换行符"\n"
$result = fgets($client, 10240000);
$result = json_decode($result, true);
var_export($result);

最终结果打印

array (
  'uid' => 2022,
  'name' => 'webman',
)

效果图

截图