---恢复内容开始---

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(媒体传输协议))简介的更多相关文章

  1. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  2. HTTP协议简介

    一.简介 HTTP(HyperText Transfer Protocol, 超文本传输协议) 是访问互联网使用的核心通信协议,也是所有web应用程序使用的通信协议.消息模型:客户端发送请求消息,服务 ...

  3. 文件传输协议FTP、SFTP和SCP

    网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...

  4. FTP(文件传输协议)工作原理

    目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...

  5. 【传输文件】文件传输协议FTP、SFTP和SCP

    网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...

  6. 文件传输协议-FTP

    一.FTP概述 FTP(File Transfer Protocol 文件传输协议)C/S结构的应用层协议.由服务端和客户端两个部分共同实现文件传输功能 FTP服务器普遍部署于内网中,具有容易部署.方 ...

  7. FTP文本传输协议

    一.存储类型 存储类型分为三种: 直连式存储:Direct-Attached Storage,简称DAS 网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在 ...

  8. __http原理__HTTP 协议简介

    HTTP 协议通信流程 超文本 除了文本以外,还有其他数据类型的内容 HTTP 协议 指计算机网络通信中 两台计算机之间所必须遵守的规定或规则 Hypertext Transport Protocol ...

  9. Hyper Text Transfer Protocol(超文本传输协议)

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

随机推荐

  1. TP框架ajax U方法不解析怎么办?

    TP框架中ajax U方法不解析 ajax U方法不解析 ajax url不解析 问题: 造成问题原因: Js 存在单独的 js文件中和html分离了.造成不解析! 解决方法: 方法一:将js放到ht ...

  2. openerp创建动态视图-fields_view_get

    openerp的视图结构是以XML的格式存放于ir.ui.view表中,属于静态格式,设计之后就固定, 但可以通过在model中重写fields_view_get函数,在视图加载时修改arch属性,动 ...

  3. 【Oracle】Windows定时计划每天备份数据库

    脚本 OracleBakEveryDay.bat @echo off echo ================================================ echo Window ...

  4. Linux内核开发之异步通知与异步I/O(一)

    “小王,听说过锦上添花吧..”我拍拍下王的头说. “还锦上添花你,为你上次提的几个东东,我是头上长包..”小王气愤地瞪着我. “啊,为啥这样呢,本来还特意拒绝了MM的月份,抽出时间打算给你说点高级的东 ...

  5. springmvc sitemesh json问题

    参考: 解决方法: <sitemesh> <mapping path="/*" decorator="/WEB-INF/views/template/t ...

  6. 无法启动此程序因为计算机中丢失 xxx.dll

    “无法启动此程序因为计算机中丢失 XXX.dll” 这类问题在 visual studio 中很常见… 许久不和VS打交道,一碰各种坑… 这是在 VS 2015 Community 出现的问题: (1 ...

  7. Linux命令-权限管理命令:chgrp

    groupadd shuaige 创建一个用户组名字叫shuaige ls -l /home/wangyunpeng/abcd 查看abcd文件的权限 chgrp shuaige /home/wang ...

  8. Zmodem transfer canceled by remote side问题的解决办法!

    在使用跳转机跳转到另外一台机器的时候,上传一个安装包,此时使用rz命令上传文件,例如:resin-pro-4.0.44.tar.gz,结果出现如下错误提示: 点击确定之后,界面出现乱码,并退回到了跳转 ...

  9. [Asp.net]Calendar+JqueryUi实现日程管理——添加日程

    引言 之前在博客园里看到一篇文章,介绍的云日程,所以就一直在想如果是自己该如何实现,所以就自己尝试弄了一个简单的demo. 项目 效果图 日历控件,本来想弄一个js版的,后来考虑,js版的会花费更多的 ...

  10. jquery 属性操作 attr( ) prop()css( )区别

    一 attr () 和 prop( ) 操作属性 谈谈我的总结: 1 2 1 属性的定义,根据W3C手册所述:属性包括,标准属性:id class style title 语言属性 lang dir以 ...