什么是rpc
RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。
PHP实现简单RPC,RPC连接类分享
<?php /** * User: Huipu * CreateTime: 2020/07/05 上午12:2 * Description: Rpc客户端 */ class RpcClient { /** * User: Huipu * CreateTime: 2020/07/05 上午12:21 * @var array * Description: 调用的地址 */ private $urlInfo = array(); public static function gertss($url,$data){ // TODO: Implement __call() method. //创建一个客户端 $client = stream_socket_client("tcp://".$url, $errno, $errstr); if (!$client) { exit("{$errno} : {$errstr} \n"); } // {"method":"TaskServer.Action","params":[{"action": 1}],"id":1} $data = $data; //向服务端发送我们自定义的协议数据 fwrite($client, json_encode($data)); //读取服务端传来的数据 $data = fread($client, 2048); //关闭客户端 fclose($client); return $data; } }
使用方法
$url='220.13.112.33'; $data = [ 'method' => 'TaskServer.Action', 'params' => [ ['action' =>2] ], 'id' => 1 ]; $res_pon=\RpcClient::gertss($url,$data);
文章评论(0)