您的位置:首页 > 编程语言 > C语言/C++

Binder系统_c++程序实现

2017-12-27 14:51 253 查看
程序结构改进:

server client  server你要提供服务函数 client你要使用服务函数,双方是应该知道的

一、在一个H文件里抽象出这两个函数的框架这里是

IHelloService.h

二、在server端以前的C函数只写在一个文件,现在将他们分离开,使server端各个模块独立。

比如BnHelloService.cpp(Binder本地Hello服务)然后去实现头文件的两个服务函数。(真正的服务函数)

还必须有一个onTransact()函数用来解析发过来的数据然后具体调用哪一个函数。(解析调用哪一个服务)

三、在client同样将他们独立开

比如BpHelloServie.cpp (Binder服务代理)然后同样是去完成用户端的服务使用。(使用服务的哪个函数参数需要它来封装发送   发送端)

四、在现在的server端的上一层应该做的是,while循环一直询问有没有数据。(查看是否有人需要服务,接收端)

五、在client的上一层就是用了呀比如用sayhello()函数

六、介于三四这两端,需要提供Binder.c库用来完成真正的细节发送接收。

class BpMediaPlayerService: public BpInterface<IMediaPlayerService>

BpMediaPlayerService相当于是从IMediaPlayerService和BpRefBase这两个类派生出来的。

BnMediaPlayerService相当于是从IMediaPlayerService和BBinder这两个类派生出来的。

Binder服务的C++实现首先要给服务端和客户端定义接口类,然后server端实现这些函数,client实现这些函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Binder系统