Android 源码分析 - 调试 - adb (2 角色)

角色

l  服务

服务是提供特定功能的实体,接收请求,返回应答是服务直接最表现。大部分服务经过转换表现为文件(包括套接字)句柄。服务存在于Adb Server、Adb Daemon中,也可能存在于adb体系以外的某个进程中。

l  客户端

客户端代表用户使用服务功能。客户端通过一系列数据转发连接与服务建立逻辑连接,方式请求,接收应答。

l  报文(apacket)

客户端与服务之间的通信数据没有特殊格式,但数据在中间转发连接上会分片为报文。

l  链路(atransport)

链路是Server与Daemon之间的连接,有Usb和Tcp两种实现形式。传输的数据是报文(apacket)。一条链路可以承载多个客户端——服务的逻辑连接。在链路上传递的报文还包含一个amessage头,指示报文的类型,通过的链路,以及链路上的逻辑连接id。

l  套接字(asocket)

套接字可以看成数据传输的中继节点,套接字之间的连接最终实现客户端到服务的数据通路。有三种类型的套接字:本地套接字(local_socket),远程套接字(remote_socket)和轻型套接字(smart_socket)。

l  转发(alistener)

转发是一种将远端端口映射到本地机制,有些情况下不能直接连接的远端端口,比如远端只侦听Loopback接口,或者远端处于NAT内网。连接转发端口就好像连接到远程服务上。

l  内部管道

内部管道由UNIX域套接字实现,用来将链路的阻塞IO模式转换为反应堆(poll)模式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting Horse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值