Разработка приложения, использующего синхронизацию данных. Отправка изображений (даже с измененным размером) занимает время, если это делается через медленное интернет-соединение. Подумав, было бы лучше сначала проверить скорость интернета и отправлять данные только в том случае, если скорость приемлемая. Есть класс Apple Reachability, но у него есть только метод проверки включения Wi-Fi. Думаю, для меня было бы достаточно пропинговать хост и получить информацию о задержке из результата ping cmd. Эту информацию о задержке я бы использовал, чтобы решить, стоит ли отправлять данные сейчас или подождать.
Можно ли пропинговать хост и получить задержку?
comment
Задержка != пропускная способность, уверены, что пинг — это то, что вам действительно нужно? Хотя, если это так, это может помочь: stackoverflow.com/questions/7437643/ios-ping-with- время ожидания
- person ckhan   schedule 04.05.2012
Ответы (2)
Достижимость или пинг не скажут вам, насколько быстро или медленно будет передаваться файл. Это функция ping_time + (размер_файла/пропускная способность). Для любого большого файла ping_time намного меньше, чем file_size/пропускная способность.
Самый простой способ измерить это — приложение загружает и загружает не слишком маленький и не слишком большой файл и решает, действительно ли скорости загрузки и скачивания «достаточно высоки».
person
Yusuf X
schedule
04.05.2012
Выполнение этого довольно сложно, однако у Apple есть полный рабочий пример программы здесь:
person
lnafziger
schedule
04.05.2012
Это не работает на iOS.
- (void)simplePing:(SimplePing *)pinger didReceivePingResponsePacket:(NSData *)packet sequenceNumber:(uint16_t)sequenceNumber
никогда не вызывается, даже после добавления <key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>
в Info.plist.
- person Jaybo; 08.03.2017