android蓝牙20字节,蓝牙模块hc-05向android app每隔10ms发送一组数据,在20多秒之后双方就无法继续通信...

在使用HC-05蓝牙模块与Android App进行通信时,发现连接状态正常但20多秒后双方无法继续通信。初步推测可能因接收数组长度(16字节)过小导致数据处理不及时,引发阻塞。增大数组长度到1024字节后问题消失。寻求解决方案,考虑如何确定合适的接收数组大小。
摘要由CSDN通过智能技术生成

hc-05和app显示处于连接状态,但相互之间发送消息已经接收不到,想问一下有没有做过碰到类似问题的,求指点?

补充一下,刚开始接收数组长度设置为16,双方只能相互发消息维持20秒,然后再相互发消息就都收不到了,将数组长度设为1024后,就没有这个问题出现,所以,是不是接收数组长度太小,无法及时处理接收的数据,然后造成了阻塞,形成了双发发的信息都不能被传递?这个只是我的猜想,求大神解答

另外,刚开始设置为16长度,是因为我们自定义协议的收发数据一帧只有9个字节,而且是不断在发,APP只要拿到一帧就好,剩下的就不管了,所以当时觉得接收数组不用定义太大。

接收的byte数组大小设置为多大合适?

/接收数据的线程/

private class ConnectedThread extends Thread {

private final BluetoothSocket mmSocket;

private final InputStream mmInStream;

private final OutputStream mmOutStream;

public ConnectedThread(BluetoothSocket socket, String socketType) {

Log.e(TAG, "create ConnectedThread: " + socketType);

mmSocket = socket;

InputStream tmpIn = null;

OutputStrea

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值