android adb 源码框架分析(2 角色)
2014-05-07 12:59
274 查看
角色
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)模式。
相关文章推荐
- android动态加载.so,实现动态库升级
- (转)Android 升级 ADT 之后报错之一 case语句 .
- android adb 源码框架分析(1 系统)
- android开发学习路线(转自Mars微博)
- Android Studio的一些设置
- android Intent.createChooser 应用选择器
- Android SDK Tools r22.3 下载地址
- Android源码分析之AsyncTask
- android批量文件上传(android批量图片上传)
- android BitmapFactory.Options
- android中logcat学习笔记(1)
- 关于Android引用Lib的问题
- android 学习笔记
- android-修改TextView中部分文字的颜色
- android 缓存、缓存算法和缓存框架
- Android 怎么退出整个应用程序?
- Android logcat保存当前应用程序的日志并上传服务器或指定邮箱
- Android图片二进制与Bitmap、Drawable之间的转换
- Android之取消ViewPage+Fragment的预加载
- Android Code Coverage for Blackbox Test