приостановить / возобновить загрузку с помощью URLStream? - PullRequest
4 голосов
/ 28 июня 2009

Можно ли приостановить / возобновить загрузку с помощью объекта URLStream ?

Ответы [ 2 ]

2 голосов
/ 01 июля 2009

Возможно приостановить / возобновить URLStream, используя метод, описанный здесь . К сожалению, этот метод будет работать только в AIR.

Если вы используете AIR, вам все равно нужно проверить, что заголовок ответа, отправляемый с сервера, содержит:

Accept-Ranges: bytes

Если у вас это есть, вы сможете использовать тот же метод.

0 голосов
/ 28 июня 2009

Я не думаю, что это возможно с помощью URLStream, но я думаю, что вы могли бы достичь способности паузы / возобновления, используя Socket .

Это требует настройки правильных политик сокетов, что немного хлопотно, и сервер принимает байтовые диапазоны. См. байт обслуживания и RFC2616 .

Идея состоит в том, что вы будете вести подсчет количества байтов, которые вы прочитали из текущего ответа. Если вы хотите сделать паузу, вы бы закрыли соединение. Для возобновления вы снова откроете соединение и отправите HTTP-запрос GET, указав диапазон байтов, который начинается с количества сохраненных вами байтов (т. Е. Вы выбираете, где остановились).

Имейте в виду, что это всего лишь идея. Я не уверен, что закрытие и повторное открытие соединений является наиболее оптимальным решением. Это, вероятно, не ракетостроение, но требует некоторой работы, чтобы правильно его реализовать. И, как я уже сказал, я думаю, что-то вроде этого должно работать, но я сам не пробовал, поэтому я не уверен на 100%. Но, возможно, стоит попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...