Możesz wysłać zapytanie do swojego serwera i biorąc pod uwagę, że jest to około 5-10 KB danych, które spodziewasz się zwrócić, a następnie utworzyć odliczanie czasowe, które jest zaplanowane na 20 sekund.
Jeśli w ciągu 20 sekund nie otrzymasz odpowiedzi, rozważmy wolne połączenie.
Przykład:
// make POST request to server, the POST request should have a callback method assigned
[self testSpeed];
// schedule a method to be called after 20 seconds
myTimer = [NSTimer scheduledTimerWithInterval:20.0 selector:@selector(stopSpeedTest) .... ];
// your POST request callback method
-(void)speedTestCallback
{
[myTimer invalidate];
myTimer = nil;
[self alertGoodSpeed];
}
// your stopSpeedTest method to identify app didn't receive response within 20 seconds
-(void)stopSpeedTest
{
[self alertTooSlow];
}
myślę, że to, co H2CO3 starał się zapytać: „Ile bajtów na sekundę uważa pan za wolno”
Musisz długo decydować, czy uważasz, że użytkownik chce poczekać na ilość danych, które mają zostać zwrócone.
Jeśli mówisz użytkownikowi, że pobierasz 50 MB danych, to tak, sprowadzenie wszystkich z powrotem w 20 sekund jest szybkie.
Jeśli jednak spodziewasz się tylko 5-10 KB danych, a proces ten trwa dłużej niż 10 sekund, a co dopiero 20 sekund, połączenie jest bardzo powolne.
Ile bajtów na sekundę uważasz za wolne? –
cześć dzięki odpowiedzi. Nie mam informacji o poziomie bajtów. jeśli jest to istotne, niż powiedz mi, jak mogę znaleźć odpowiedź, znajdując to. – CRDave
huh? Wydaje się, że nie zrozumiałeś mojego punktu widzenia. –