国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

?? RPC 遠程服務調用插件

v1.5.0 版本
2025-04-01 版本更新時間
2801 安裝
19 star

簡介

什么叫RPC,為什么要RPC,RPC是指遠程過程調用,也就是說兩臺服務器A、B。一個應用部署在A服務器上,想要調用B服務器上應用提供的函數/方法,由于不在一個內存空間,不能直接調用,需要通過網絡來表達調用的語義和傳達調用的數據。

安裝

composer require tinywan/rpc

使用

服務端

新建 service/User.php 服務(目錄不存在自行創(chuàng)建)

namespace service;
class User
{
    public function get($args)
    {
        return response_rpc_json(0, '獲取成功', $args);
    }
}

客戶端

基礎使用

// 建立socket連接到內部推送端口
$client = stream_socket_client('tcp://127.0.0.1:9512', $errorCode, $errorMessage);
if (false === $client) {
    throw new \Exception('rpc failed to connect: '.$errorMessage);
}
$request = [
    'class'   => 'user',
    'method'  => 'get',
    'args'    => [
        [
            'uid' => 2023,
            'username' => 'Tinywan',
        ]
    ]
];
// 發(fā)送數據,注意5678端口是Text協(xié)議的端口,Text協(xié)議需要在數據末尾加上換行符
fwrite($client, json_encode($request)."\n"); 
// 讀取推送結果
$result = fgets($client, 10240000);
// 解析JSON字符串
$result = json_decode($result, true);
var_export($result);

請求響應結果

{
    "code": 0,
    "msg": "用戶列表",
    "data": {
      "uid": 2024,
      "username": "Tinywan"
    }
}

請求響應異常結果

{
    "code": 404,
    "msg": "接口調用類不存在",
    "data": {}
}

異常錯誤日志

[2024-08-16 14:46:26] default.ERROR: 
RPC Service Exception Message SQLSTATE[42S22]: 
Column not found: 1054 Unknown column 'to_user_id' in 'where clause'
{"error":"SQLSTATE[42S22]: 
Column not found: 1054 Unknown column 'to_user_id' in 'where clause'",
"file":"/var/www/db/PDOConnection.php","line":797} []

效果圖

截圖

贊助商