Android 蓝牙SPP通信——问题汇总

一、子线程操作

1、在执行accept()方法会阻塞等待,开启子线程避免ANR。

2、接收数据, IO操作完成一定要释放。

二、长连接

1、发送心跳包,在超时未响应发起重发N次,或者isConnect()判断。

三、粘包

快速发送短小的数据容易引起粘包

1、发送端发送时,添加发送间隔,这样处理也会影响发送端的效率,建议所有的消息处理使用队列进行处理,方便管理和添加间隔。

2、完善数据解析协议,数据包内包含数据长度,按照长度解析数据,或者在数据结尾添加特殊的符号,标记为单帧数据的结尾。

你可能感兴趣的:(Android,蓝牙)