我们正在编写应用程序以从蓝牙2.1+ EDR MFI注册的外部设备读取数据。每次读取时我们都会读取大约1300字节的数据,因为需要下载一个块。以下代码片段用于readStream
# define EAD_INPUT_BUFFER_SIZE 512
uint8_t buf[EAD_INPUT_BUFFER_SIZE];
while ([[_session inputStream] hasBytesAvailable])
{
NSInteger bytesRead = [[_session inputStream] read:buf maxLength:EAD_INPUT_BUFFER_SIZE];
for (int i = 0 ; i < bytesRead ; i++)
{
[frame appendString:[NSString stringWithFormat:@"%x ",buf[i]]];
}
}
但是流不能一次读取一个块(1300字节)。它以3-4个块的形式读取数据。每个块占用600-700毫秒。假设读取100个块(每个块包含1300个字节)。我有以下三个问题
我做错了吗?请帮助解决这个问题。