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