我的问题类似于https://discussions.apple.com/thread/5582016。但我的设备不是蓝牙。我使用 eademo 读取这样的数据:
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
switch (eventCode) {
....
case NSStreamEventHasBytesAvailable:
[self readdata];
}
问题是我无法及时读取数据,而不是立即读取数据。mfi 设备每 50 毫秒发送 1 KB,因此它每秒发送 20 KB。但是“NSStreamEventHasBytesAvailable 事件”大约需要 6 秒时间。每个“NSStreamEventHasBytesAvailable”事件发生我可以读取 128Kbyte。似乎直到数据接收到 128Kbyte 才调用事件?还是iphone有安全检查?
有什么方法可以立即接收数据,而不是将其聚合在这些块(128Kbyte)中?