模仿Binder机制的实现原理,基于Tcp socket实现Client对远程Server的函数调用或服务,即RPC机制。
Binder简易版
client的具体实现
客户端创建socket将接受到的信息传给binder,
创建socket:
Binder简易版
接受键盘传来的指令并发送给binder:
Binder简易版
sendtobinder的具体实现
在该函数中将接收到的输入指令进行处理,取出指令操作和指令数据分别写入数组中保存,之后取出指令操作到ServiceManage中去查找注册表。
Binder简易版
ServiceManage的具体实现
ServiceManager有一张注册表用于保存所有Server所有可用的函数。将binder传过来的指令名称在ServiceManager中查找注册表。若注册表中有该操作则将操作指令发送给Server,Server收到ServiceManager请求后,进行计算,然后将结果返回给ServiceManager。若没有该操作则打印错误信息。Binder简易版
查找注册表find_regedit的具体实现
注册表用于记录所有Server所有可用的函数,这里记录了五个函数{add、sub、mul、div、fac}。若找到则返回是第几个函数给ServiceManage,未找到则返回0。
Binder简易版
server的具体实现
在ServiceManage的注册表中查找到函数后。将指令送给Server,Server收到ServiceManager请求后,进行计算。
客户端创建socket用于接收信息:
Binder简易版
Binder简易版
deals_command指令处理的具体操作
将接收到的指令信息进行处理,得到指令操作和指令参数,并信息保存在数组中供各函数执行Execution_operation使用。
Binder简易版
Execution_operation的具体操作
根据指令操作,查找具体操作的函数并执行
Binder简易版

相关文章:

  • 2021-09-22
  • 2021-09-27
  • 2021-09-03
  • 2021-06-11
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2021-12-05
猜你喜欢
  • 2021-10-26
  • 2021-10-26
  • 2021-06-29
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案