2012-05-02 12 views
9

Muszę pobrać dużą ilość danych (od 300 MB - 1 GB).Jak wstrzymać/wznowić pobieranie w iPhone (iOS)?

Obecnie używam **NSURLConnection** do pobierania danych. Ale teraz patrzę na scenariusz, w którym użytkownik może utracić połączenie internetowe podczas procesu pobierania. Obecnie ponownie uruchamiam cały proces pobierania w tym scenariuszu, co moim zdaniem jest bardzo złym sposobem pobierania i marnowania przepustowości użytkownika.

Czy istnieje proces, w którym można zarządzać pobieraniem przy użyciu funkcji Wstrzymaj/Wznów podczas pobierania.

Odpowiedz

11

Oto tutorial, jak to zrobić na IOS.

Sprawdź również documentation. Będzie to wymagać od twojego serwera obsługi nagłówków zasięgu.

+0

oops .... chyba. działa to tylko dla systemu MAC OS, a NIE dla systemu iOS. Popraw mnie jeśli jest źle !! Wyraźnie szukam czegoś, co działa na iOS –

+0

+1 dla łącza ... Ale czy możesz po prostu dodać fragmenty kodu dla mnie, proszę. ... –

+0

Myślę, że do korzystania z tej funkcji potrzebujemy klasy NSURLDownload, ale dokumentacja wyraźnie mówi, że NSURLDownload nie jest ava Iplay dla iOS. Jakieś pomysły na ten temat ??? –

1

wymaga to synchronizacji zarówno po stronie serwera, jak i klienta. i już powiedziałem ci, żebyś używał kawałków. Zdecydowanie kawałki to jedyne rozwiązanie, jeśli chcesz się zatrzymać. wyślemy serwer z identyfikatorem porcji, aby zatrzymać, dopóki nie otrzymam następnego i następnym razem zapytam z tego identyfikatora.

+0

dzięki za odpowiedź saad ... Czy możesz bardziej technicznie. Mam na myśli, czy możesz wyjaśnić nieco więcej, jak to zrobić ... Wszelkie linki byłyby pomocne –

+0

Niestety nie mam pojęcia o linku. możesz google to. infact i zaimplementowałem coś podobnego do tego w mojej aplikacji. rzecz polega na tym, że serwer wysyła wiadomość zawierającą informacje o liczbie pakietów do odbioru. klient wysyła ok i rozpoczyna się komunikacja, gdy klient musi wstrzymać. wyśle ​​wiadomość za pośrednictwem usługi sieciowej, która zatrzyma się do tej pory, że otrzymałem te pakiety. następnym razem, kiedy klient zażąda wznowienia procesu, serwer miał informacje o ostatnio wysłanych pakietach, więc zacznie wysyłać pozostałe pakiety, podstawową rzeczą jest przesunięcie większości pracy po stronie serwera. – Saad

+0

Pinguj mnie za dalsze ... – Saad

-1

Możesz użyć „NSURLSession aby wstrzymać i wznowić

0

FIXED rozwiązanie:

Fixed niedziałający link a tu jest praca Tutorial wznowić plik do pobrania pliku w iOS

Powiązane problemy