世事洞明皆学问,人情练达即文章。这篇文章主要讲述处理android 经典蓝牙发送文件时接收包的问题相关的知识,希望能为你提供帮助。
需求:android 经典蓝牙发送文件,发送端支持暂停操作(变态!!!!),还想要断点续传(更变态!!!)
大致实现:
client端发送定长包,文件首包包头(固定长度)包含此文件标示(名称,文件流总长度等),并且要处理好socket缓存区
溢出的问题,防止出现丢包。
server端从socket读取数据时按照定长包读取,长度不够等下组数据来,长度长了截掉,每个数据流进行包头判断,前一文件未收完的情况下,收到包头数据流,就丢弃,开始接受新的文件流。
case点:包头判断的过程:有两种方式:
1.定长包,每个包都含有定长包头(流量浪费)
【处理android 经典蓝牙发送文件时接收包的问题】2.只有首包头,包头中包含文件md5值(文件流中包含其md5,只存在理论上的可能)
推荐阅读
- Android CardView使用和导入出错问题
- 创建Android虚拟设备(AVD)
- android刷新或clean后R.java不见了怎么处理
- Android中如何设置字体大小
- Android中颜色的使用
- 为App签名的其他方法
- Android中的尺寸单位
- Android Stuido 好卡怎么办(不要急,兄弟来教你)
- 安卓高级控件