用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧VisualBasic

VB.NET利用OBEX协议实现红外线文件传输

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 19:55:29


字节0 字节1、2字节3 字节4 字节5、6 字节7
响应的操作码 响应数据包的总长度OBEX协议的版本(目前为1.0,16进制表示为0x10)保留未用,设为0最大可处理的OBEX包长度其它的数据包(可选)

  如果接收方允许连接,响应的操作码会为Success(0xA0)其它的响应操作码均被认为连接失败。

  2、发送方向接收方发送数据

  发送方通过put和Final_Put这两个操作将传输的数据信息向接收方发送。

  发送方的Put/Final_Put使用格式。

字节0 字节1,2 字节三以后的数据
Put操作码(0x02)Final_Put操作码(0x82)整个通信数据包的长度 通讯的数据(由其它的例如name/body等数据包构成)

  当最后一次传输对象的数据时要使用Final_Put告知接收方这是最后一个数据包了,以便接收方根据接收到的数据进行处理(例如将接收到的文件存盘)。

  接收方的响应格式:

字节0 字节1,2 字节三以后的数据
响应操作码典型的有两个值:Success操作码(0xA0)Continue操作码(0x90 )整个通信数据包的长度 通讯的数据(由其它的例如name/body等数据包构成)

  如果接收方成功收到put操作的数据,应该返回Continue开始的响应信息,告知发送方继续发送,在成功收到Final_Put发送的数据后,应返回Success响应信息,告知发送方整个对象都接收完成。(但由于部分适配器只会返回Success响应,出于兼容性考虑,在编程中应理解为无论接收到Success或Continue响应都代表数据发送成功。)

  3、发送方关闭连接

  发送方在最后应以Disconnect信息明确结束连接,这并不是必须的,但推荐使用。

  发送方格式:

字节0字节1,2 字节三以后的数据
Disconnect操作码整个通信数据包的长度可选的通讯的数据(由其它的数据包构成)

  接收方响应:

字节0 字节1,2字节三以后的数据
Success操作码(0xA0)服务不可用操作码(0xD3)整个通信数据包的长度可选的通讯的数据(由其它的数据包构成)


  当成功断开时,接收方会发送Success信息。否则,如果发送方的disconnect操作包含错误信息(例如一个错误的连接ID)时,会返加0xD3操作码。但并不能操作所有接收方的程序都实现这个响应的功能,也就是说,发送方并不能保证一定会得到响应信息。

   二、程序实现

  .net1.0中对红外的支持全部在System.Net.Sockets空间中,使用很简单,和普通的网络连接差不多,主要有三个类:

IrDAClient提供连接信息,并创建客户端连接对象,用以打开和关闭与服务器的连接。
IrDADeviceInfo提供客户端在发现查询过程中获取的有关可用服务器和端口的信息。
IrDAListener将套接字置于侦听状态,以监视来自指定服务或网络地址的连接。
  
  (一)、获取附近可用红外设备的信息

  在这个示例中,我获取红外设备通过IrDAClient的DiscoverDevices方法实现,该方法以IrDADeviceInfo类型的对象数组返回附近可用红外设备的相关信息。这个方法唯一的参数表示如果附近有许多红外设备时,最多收集多少个设备的信息。

  示例代码如下:

Dim taobjIrDADeviceInfo() As Sockets.IrDADeviceInfo
Dim tobjIrDAClient As New Sockets.IrDAClient
'开始检索附近的红外设备并加入到列表中,最多只搜索7个设备
taobjIrDADeviceInfo = tobjIrDAClient.DiscoverDevices(7)

  在得到的IrDADeviceInfo类型的变量有三个有用的属性,你可根据这些属性的值给用户提示,以便由用户选择应连接到那一个红外设备上:

  DeviceID 获取红外设备标识符,在连接红外设备中使用

  DeviceName 获取红设备名称。

  Hints 获取设备的类型,例如是红外手机还是红外PDA之类的说明
天极yesky

上一页  [1] [2] [3] [4]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

相关文章

PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:11,265.63000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号