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)

最新文章

  1. BZOJ1025: [SCOI2009]游戏
  2. Sort--快速排序
  3. Android 关于倒计时功能的实现
  4. Hibernate学习之延迟加载
  5. NET单元测试的艺术
  6. JavaScript修改Canvas图片
  7. 《Master Bitcoin》学习笔记02——比特币的交易模型
  8. PAT乙级-1047. 编程团体赛(20)
  9. C语言博客作业—字符数组
  10. [转]Python多进程并发操作中进程池Pool的应用
  11. echarts 专题
  12. Picnic Planning POJ - 1639(最小k度生成树)
  13. 04flask_scripts使用
  14. windows下创建MySQL定时备份与删除脚本
  15. IIC稳定性.VBS
  16. hadoop 集群中数据块的副本存放策略
  17. 【BZOJ2749】【HAOI2012】外星人[欧拉函数]
  18. NSObject的hash方法
  19. 超级账本环境搭建fabric
  20. wxwidget wxpython 可视化开发工具

热门文章

  1. golang笔记:unsupported driver -> Scan pair: <nil> -> *string
  2. JDK/Java里的设计模式
  3. [Atcoder Grand Contest 002] Tutorial
  4. [BZOJ 2743] 采花
  5. 图像视图-ImageView
  6. sql字段字符用做其他类型查询
  7. 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
  8. Swift数独游戏优化——C++与OC混编、plist自动生成
  9. linux-统计文件中相同行的数量
  10. iis日志字段解析