2

我们正在编写应用程序以从蓝牙 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 个字节)。我有以下三个问题

  1. 如何将下载时间从 600 毫秒减少到 100-200 毫秒?
  2. 如何同时读取全块数据?
  3. 它与iOS中的操作系统/电源管理相关吗?

我做错什么了吗?,请帮助解决这个问题。

4

0 回答 0