🌱 超级简单的 RPC 服务插件

v0.0.2
版本
2022-06-07
版本更新时间
621
安装
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',
)