MTP(Media Transfer Protocol(媒体传输协议))简介
---恢复内容开始---
1,简单说明
MTP,微软公司规定的新的传输规则(字面本来应该是协议的,但是自己感觉更像是规则,制定了基本上的所有路线,剩下的是你想怎么选择罢了,使用者完全没有可能在它的框架里面再生成其他的东西)。MTP不但应用在USB(以USB端口传输数据的设备)方面,还应用在IP方面。不过主要还是在USB设备方面。现在很多手机都支持。
2,基本的工作原理
关于MTP的文档,我会在参考文件处列出。仅供大家参考。
MTP协议本身,规定了USB设备的所有信息,文件读取方式,传输方式,读取方式甚至API的命名方式。
简单的说,所有东西都用特定的数值规定。想要明白数值的意义,就需要查看MTP协议的内容。
剩下的就是通过API进行调用。
稍微用过Linux的,就基本上明白电脑是怎么读取文件的。
基本上我们要读取文件,都需要以下几个要素。
>1,设备的信息
>2,设备的存储的文件
>3,文件的路径
>4,文件的属性(大小,只读等等)
>5,查看自身的内存大小,进去读取
就像上述的一样,我们是主动发起者,我们想干嘛,都是我们开始发起的,USB就是等个我们的命令。
我们发一个命令,它回复我们想要的东西。这样就能减少移动设备的功能性。
(毕竟移动设备优势在于小,太多的功能性,在物理上很难有变小的可能。
当然现在为了分担主设备的运行,也有一些在设备本身添加功能。)
MTP协议也是基于上面的想法,使得主机(一般是指电脑)成为发起者,USB端是回应者。
以下【(API)】的地方,是指由相应的API存在
>连接设备,会进行初始化(API),登入设备(API),读取设备的信息(API)
>然后在程序意义上开始连接设备(API),生成一个任务,以后所有的数据交流都是在这个任务有效的情况下产生的
>接下来,开始查看设备的存储的文件(API)
>查看路径(API)
>文件的属性(API)
>读取(API)
几乎所有的操作都是通过API完成的,而且在读取的时候都是通过文件包的方式进行读取的。
之所以不写出具体API名称,是因为这些必须自己去详读,这里只是简单介绍它。不过大家懂点英文,估计不看具体介绍也能看懂,使用。
基本上会跟以下的名词打交道。
1,handle。这里直接可以解释成“指向”。不管是devicehandle,还是objecthandle,都是指向设备,或者指向文件的意思
2,object。文件,文件夹
3,get。API中,获取的意思。getXXXinfo,就是获取信息,getXXX就是读取了。
4,format。这个就需要看文档了,对应相应的意思。
MTP(Media Transfer Protocol(媒体传输协议))简介的更多相关文章
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
- HTTP协议简介
一.简介 HTTP(HyperText Transfer Protocol, 超文本传输协议) 是访问互联网使用的核心通信协议,也是所有web应用程序使用的通信协议.消息模型:客户端发送请求消息,服务 ...
- 文件传输协议FTP、SFTP和SCP
网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...
- FTP(文件传输协议)工作原理
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- 【传输文件】文件传输协议FTP、SFTP和SCP
网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...
- 文件传输协议-FTP
一.FTP概述 FTP(File Transfer Protocol 文件传输协议)C/S结构的应用层协议.由服务端和客户端两个部分共同实现文件传输功能 FTP服务器普遍部署于内网中,具有容易部署.方 ...
- FTP文本传输协议
一.存储类型 存储类型分为三种: 直连式存储:Direct-Attached Storage,简称DAS 网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在 ...
- __http原理__HTTP 协议简介
HTTP 协议通信流程 超文本 除了文本以外,还有其他数据类型的内容 HTTP 协议 指计算机网络通信中 两台计算机之间所必须遵守的规定或规则 Hypertext Transport Protocol ...
- Hyper Text Transfer Protocol(超文本传输协议)
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
随机推荐
- UML学习(二)- 用例图
UML用例图 用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员 ...
- SecureCRT 常用配置
1.SecureFx 中文乱码,应设置成utf-8编码了,依旧乱码 在 C:\Users\root\AppData\Roaming\VanDyke\Config\Sessions 下找到对应的sess ...
- Android系统示例分析之AndroidBeamDemo
在这个示例工程中,只有一个Activity: public class Beam extends Activity implements CreateNdefMessageCallback, ...
- mybatis常用标签
1. 定义sql语句 1.1 select 标签 属性介绍: id :唯一的标识符. parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user ...
- easyui框架Date日期类型以json形式显示到前台datagrid时,显示为[object Object]
如下图,easyui当后台把时间数据返回转换成json然后加载在easyui的datagrid里面,显示为[object Object] 需要对时间格式添加格式的显示方法 /** * 时间格 ...
- 为什么我没有拔出钥匙 ——开锁引发的程序bug解决方案的思考
http://blog.csdn.net/wojiushiwo987/article/details/8851204为什么我没有拔出钥匙 ——开 ...
- IntelliJ IDEA 学习(一):IntelliJ IDEA15 破解方法(已验证)
新的破解方法: 1.进到文件夹中:C:\Windows\System32\drivers\etc ,找到hosts文件,用记事本编辑 2.如果没有找到hosts文件,可在查看设置中勾选“显示隐藏的项目 ...
- 整理 pandas 常用函数
1. df.head(n): 显示数据前n行,不指定n,df.head则会显示所有的行 2. df.columns.values获取所有列索引的名称 3. df.column_name: 直接获取列c ...
- JVM虚拟机(五):JDK8内存模型—消失的PermGen
一.JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1.虚拟机栈: 每个线程有一个私有的栈,随着线程的创建而创建.栈里面存着的是一种叫“ ...
- XVAG音频文件格式提取
索尼的一种游戏音频格式,通过vgmstream工具可以提取 工具已经下载好:(包含dll包) http://files.cnblogs.com/files/hont/vgmstream-r1040-t ...