我正在尝试重置在蓝牙接收线程上运行的计数器。我在BT发送器发送的每个数据包中有4个数据字节。包时间为300毫秒。一段时间后接收数据由于未知原因而失序,所以我想我可以添加一个定时器来重置数据包之间的计数器以确保有效数据。根据我读过的博客,没有内置的超时,所以我假设有人创建了一个。
while (true) {
try {
byte[] packetBytes = new byte[20]; // Start new packetbyte
Log.d(TAG, " Counter " + counter);
mmInStream.read(packetBytes); // Read Bluetooth socket
b [counter]= packetBytes[0]; // Save each byte into B
counter++;
if(counter == 4){ // After 4 bytes DO this
Log.d(TAG, " Done ");
counter=0; // Reset counter
h.obtainMessage(RECIEVE_MESSAGE, counter, -1, b).sendToTarget(); // Send to message queue Handler
}
} catch (IOException e) {
break;
}
}
这是计算数据的代码。我正在尝试重置计数器。