优化网站图片,公司网站建设手续,烟台网站建设专业臻动传媒,繁体企业网站源码一、Server和Service Manager进程间通信 Service Manager进程启动时#xff0c;已经创建了Service Manager实体对象#xff0c;没有Service Manager本地对象。 Server首先获取了Server代理对象#xff0c;句柄值为0。没有Server引用对象。 Server-----Service Manager S… 一、Server和Service Manager进程间通信 Service Manager进程启动时已经创建了Service Manager实体对象没有Service Manager本地对象。 Server首先获取了Server代理对象句柄值为0。没有Server引用对象。 Server-----Service Manager Server找到目标进程依据Server代理对象的句柄值0找到Service Manager实体对象然后找到Service Manger进程也就是目标进程。 Server传递的数据包括flat_binder_object结构体当中handle为Service Manager的引用对象的句柄值Service Manager的引用对象引用了Server的实体对象Server的实体对象又引用了Server的本地对象。(binder_transaction函数case BINDER_TYPE_BINDER)。 Service Manager处理数据svcinfo结构体ptr为Servicer Manager的引用对象句柄值name为传递进来的字符串。 Service Manager-----Server Service Manager找到目标进程依据thread-transaction_stack-from找到目标进程即Server进程。 Service Manager传递的数据返回正确值0。 Server处理数据Server循环等待。 二、Client和Service Manager进程间通信 Service Manager进程启动时已经创建了Service Manager实体对象没有Service Manager的本地对象。 Client首先获取了Client代理对象句柄值为0。没有Client引用对象。 Client-----Service Manager Client找到目标进程依据Client进程代理对象的句柄值0找到Service Manager实体对象然后找到Service Manger进程也就是目标进程。 Client传递的数据svcinfo 结构体name那个字符串。 Service Manager处理数据获得binder_object结构体当中pointer指向了Service Manager的引用对象(引用了Server的实体对象)的句柄值。 Service Manager-----Client Service Manager找到目标进程依据thread-transaction_stack-from找到目标进程即Client进程。 Service Manager传递的数据传递的内容flat_binder_object结构体handle为Client的引用对象(引用了Server的实体对象)的句柄值。(binder_transaction函数case BINDER_TYPE_HANDLE)。 Client处理数据返回Client代理对象(句柄值是上面Client引用对象的句柄值)。 三、Client和Server进程间通信 眼下已经获取了Client代理对象Client引用对象Server实体对象Server本地对象。 Client-----Server Client找到目标进程依据Client代理对象的句柄值首先找到Client引用对象通过Client引用对象再找到Server的实体对象通过Server实体对象找到Server进程也就是目标进程。 Client传递的数据一个用于匹配的描写叙述符。和比如GET_VALUE命令。 Server处理数据依据找到的Server实体对象找到Server本地对象利用Server本地对象来运行GET_VALUE命令获取值。 Server-----Client Server找到目标进程依据thread-transaction_stack-from找到目标进程即Client进程。 Server传递的数据传递的数据返回值是getVal获取的值利用Server本地对象来运行GET_VALUE命令获取值。 Client处理数据把上面返回的结果读取出来。 转载于:https://www.cnblogs.com/bhlsheji/p/4280362.html