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)

 



 

你可能感兴趣的:(rpc)