使用Android绑定器共享文件描述符 如何在C++中使用Android Booad IPC跨进程共享文件描述符?您是否也可以发布示例?

使用Android绑定器共享文件描述符 如何在C++中使用Android Booad IPC跨进程共享文件描述符?您是否也可以发布示例?,android,android-binder,Android,Android Binder,在客户端过程中,我们执行以下操作来执行活页夹事务 remote()->transact(MYTRANSACTION、data和reply,IBinder::FLAG_单向); 数据和回复为包裹类型。marshall和Unmarshall是在原生android中使用Parcel对象完成的。它具有整理文件描述符的功能 data.writeFileDescriptor(fd); 在服务器进程(即android中的服务)中,我们调用以下方法 在服务器进程中读取文件描述符 int fd=data.re

在客户端过程中,我们执行以下操作来执行活页夹事务

remote()->transact(MYTRANSACTION、data和reply,IBinder::FLAG_单向);
数据和回复为包裹类型。marshall和Unmarshall是在原生android中使用Parcel对象完成的。它具有整理文件描述符的功能

data.writeFileDescriptor(fd);
在服务器进程(即android中的服务)中,我们调用以下方法 在服务器进程中读取文件描述符

int fd=data.readFileDescriptor();
跨进程共享文件描述符将由活页夹驱动程序处理

重要信息:在销毁地块对象之前复制收到的文件描述符

您可以在以下位置找到本机绑定器的实现和说明:

在包裹对象销毁之前复制收到的文件描述符是什么意思?我明白了。在使用dup系统调用复制fd之前,我在执行mmap时总是会遇到非法的fd错误。你的“注意”声明真的很重要!!!