Требуется установить приоритет асинхронного чтения сокетов в C #

Мое приложение предварительно выбирает большое количество видеокадров, используя асинхронный Запросы HttpWebRequest. Итак, если есть 100 кадров, предварительная выборка будет запрашивать все 100 кадров асинхронно, все сразу и обрабатывать при получении. т.е. он делает 100 асинхронных вызовов одновременно. Это может привести к насыщению сети карта, но это нормально. Я хочу максимизировать пропускную способность сети.

Однако, пока происходит эта предварительная выборка, пользователь может захотеть просмотреть один из кадров. Итак, предположим, они хотят просмотреть кадр 56. Проблема в том, что кадры 1–100 уже запрошены и находятся в конвейере, поэтому запрос кадра 56 может занять много времени, чтобы получить ответ.

Было бы неплохо, если бы был какой-то способ изменить приоритет асинхронных запросов после того, как они были сделаны. И поместить запрос пользователя в начало очереди.

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

Любые идеи о том, как правильно это спроектировать. были бы очень признательны.

6
задан Mat 17 May 2012 в 20:58
поделиться