做了一个简单的测试BLE传输速度的app,central使用Mac,peripheral使用iphone6
并非通过传统的传输文件进行测试,所以对于传输文件的问题并不是很适用。
(传输文件的话可以使用NSData将文件分割后再进行传输)
peripheral接收到central的读取数据请求时,每次传送100Byte的数据。
(为什么是100Byte呢?因为楼主测试时,每次最大能传输的数据量是102Byte。。。)
在central可以设置读取数据的大小,并显示平均速度。
peripheral代码:
接收到读取数据请求时的动作:
- (void)peripheralManager:(CBPeripheralManager *)peripheral
didReceiveReadRequest:(CBATTRequest *)request
{
[self publishLocalNotificationWithMessage:@"Read!"];
NSLog(@"Readリクエスト受信! requested service uuid:%@ characteristic uuid:%@ value:%@",
request.characteristic.service.UUID,
request.characteristic.UUID,
request.characteristic.value);
if ([request.characteristic.UUID isEqual:self.characteristic.UUID]) {
//request.value = self.characteristic.value;
request.value = [self setData];
[self.peripheralManager respondToRequest:request
withResult:CBATTErrorSuccess];
}
}