zoukankan      html  css  js  c++  java
  • 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)



  • 相关阅读:
    SVN服务器搭建和使用(二)
    Unity5自动命名Assetbundle并打包
    Unity学习(六)5.x依赖打包
    Dota2技能系统设计分析
    android调用其他apk的activity
    Android 跨应用调用Activity
    Unity5的AssetBundle的一点使用心得
    Myeclipse快捷键集合
    我的CSS命名规则
    常用的 Windows 键
  • 原文地址:https://www.cnblogs.com/hylaz/p/4473521.html
Copyright © 2011-2022 走看看