码迷,mamicode.com
首页 > 移动开发 > 详细

处理android 经典蓝牙发送文件时接收包的问题

时间:2017-06-01 13:08:10      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:丢包   标示   并且   包含   包头   读取   android   md5值   读取数据   

  需求:android 经典蓝牙发送文件,发送端支持暂停操作(变态!!!!),还想要断点续传(更变态!!!)

      大致实现:

    client端发送定长包,文件首包包头(固定长度)包含此文件标示(名称,文件流总长度等),并且要处理好socket缓存区

溢出的问题,防止出现丢包。

  server端从socket读取数据时按照定长包读取,长度不够等下组数据来,长度长了截掉,每个数据流进行包头判断,前一文件未收完的情况下,收到包头数据流,就丢弃,开始接受新的文件流。

 

  case点:包头判断的过程:有两种方式:

      1.定长包,每个包都含有定长包头(流量浪费)

      2.只有首包头,包头中包含文件md5值(文件流中包含其md5,只存在理论上的可能)

处理android 经典蓝牙发送文件时接收包的问题

标签:丢包   标示   并且   包含   包头   读取   android   md5值   读取数据   

原文地址:http://www.cnblogs.com/yangmingyu/p/6928190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!