Binder简易版

模仿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的具体操作
根据指令操作,查找具体操作的函数并执行
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值