(一) OBEX介绍
一、什么是OBEX,它有什么用途?
OBEX全称为Object Exchange,中文对象交换,所以称之为对象交换协议。它在此软件当中有着核心地位,文件传输和IrMC同步都会使用到它。
OBEX协议构建在IrDA架构的上层.
OBEX协议通过简单的使用“PUT”和“GET”命令实现在不同的设备、不同的平台之间方便、高效的交换信息。支持的设备广泛,例如PC,PDA,电话,摄像头,自动答录机,计算器,数据采集器,手表等等。
OBEX协议定义了一种柔性的概念――objects。也即是对象。这些对象可以包括文件,诊断信息,电子商务卡片,银行的存款等等。Objects在这里没有高级的技术含义,而是视你的应用而定。
OBEX协议小到可作“命令和控制”功能,例如对电视机,录像机等的操作。大道可以做很复杂的操作,例如数据库的事务处理和同步。
OBEX能够具有以下几个特点:
1、 友好的应用――可实现快速开发。
2、 紧缩――可用在资源有限的小型设备上。
3、 跨平台
4、 柔性的数据支持。
5、 方便的作为其他Internet传输协议的上层协议。
6、 可扩展性――提供了对未来需求的扩充支持而不影响以存在的实现。例如可扩展安全,数据压缩等。
7、 可测试可调试。
更为具体的关于OBEX的介绍请查阅IrOBEX协议。
二、OBEX对象模型
关于Headers
对象模型回答了对象是如何在OBEX协议描述的。这个模型必须包括被传输的对象和对对象的描述。为了做到这点,OBEX定义了Headers的概念。
一个Header反映了对象的一个方面,例如名字、长度、描述文字或者对象本身。例如,一个文件对象demo.txt会包含它的名字,一个类型标示为“text”,长度和文件本身。
Headers的构成
Headers简单的由和组成,简称为和。
HI由一个字节组成,指出了Header包含的内容以及它的格式。HV包含了一个或者多个字节,其结构由HI所决定。