转载

RPC框架-yar学习

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)
正文到此结束
Loading...