RPC框架-yar学习

me87re 9年前

RPC采用客户机/服务器模式。 请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端, 进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

php中RPC简单框架感觉是YAR,尝试自己写一个案例,提前需要安装yar框架,具体安装方法上网搜搜:

服务器端:地址:http://html.com/yar/Operator.php 代码:

class Operator {        /**       * Add two operands       * @param interge        * @return interge       */      public function add($a, $b) {          return $this->_add($a, $b);      }        /**       * Sub        */      public function sub($a, $b) {          return $a - $b;      }        /**       * Mul       */      public function mul($a, $b) {          return $a * $b;      }        /**       * Protected methods will not be exposed       * @param interge        * @return interge       */      protected function _add($a, $b) {          return $a + $b;      }  }    $server = new Yar_Server(new Operator());  $server->handle();

 客户的地址:http://html.com/yar/yar.php

代码:

$url="http://html.com/yar/Operator.php";  $client = new yar_client($url);      var_dump($client->add(1, 2));  var_dump($client->call("add", array(3, 2)));

 打印结果为:

int(3)  int(5)

来自:http://www.cnblogs.com/hylaz/p/4473521.html