EAAccessory ReadStream在IOS中非常慢,如何加速?

时间:2014-03-04 09:49:07

标签: ios iphone bluetooth eaaccessory

我们正在编写应用程序以从蓝牙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 个答案:

没有答案
相关问题