Ограничение интернет канала для передачи данных
От: Аноним  
Дата: 08.07.08 06:52
Оценка:
Здравствуйте,
Столкнулся с вот такой проблемой. Надо передать файл на сайт используя HttpWebRequest причем со скоростью 5kb. Подскажите в какую сторону смотреть.
Re: Ограничение интернет канала для передачи данных
От: _Morpheus_  
Дата: 08.07.08 09:43
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте,

А>Столкнулся с вот такой проблемой. Надо передать файл на сайт используя HttpWebRequest причем со скоростью 5kb. Подскажите в какую сторону смотреть.

Можно так: исходя из заданного значения ограничения вычисляешь сколько байт можно передавать за секунду и раз в секунду отправляешь порцию такого размера. Например ограничение 1024 байта/сек, нужно передать, тогда каждую секунду передаешь порцию максимум 1024 байта.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[2]: Ограничение интернет канала для передачи данных
От: HowardLovekraft  
Дата: 09.07.08 06:28
Оценка:
А>>Столкнулся с вот такой проблемой. Надо передать файл на сайт используя HttpWebRequest причем со скоростью 5kb.
А кто ограничение выставляет? Где проверяется, каким образом считается, и что будет, если его не соблюдать?

_M_>Можно так <skipped>

Так все равно точно 5 кб/с не получится.
Re[3]: Ограничение интернет канала для передачи данных
От: Аноним  
Дата: 09.07.08 17:13
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

HL>А кто ограничение выставляет? Где проверяется, каким образом считается, и что будет, если его не соблюдать?


Ограничение выбирает сам пользователь. Это нужно чтобы не забить весь канал и пользователь мог пользоваться дальше интернетом.
Если использовать первый вариант то программа будет забивать канал в начале каждой минуты что не есть хорошо. В идеальном случае
программа должна использовать весь свободный канал, а в случае если кто-то еще использует канал то брать только то что свободно.
Тоесть приоритет на канал должен быть самый низкий.
Re[4]: Ограничение интернет канала для передачи данных
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.07.08 05:28
Оценка:
Здравствуйте, <Аноним>, Вы писали:
А>Ограничение выбирает сам пользователь. Это нужно чтобы не забить весь канал и пользователь мог пользоваться дальше интернетом.
А>Если использовать первый вариант то программа будет забивать канал в начале каждой минуты что не есть хорошо.
На всякий случай напомню, что в TCP/IP трафик все равно передается пакетами. Время отправки одного пакета почти не зависит от его размера. Поэтому лучше раз в минуту передать 1kb чем пять раз по 200 байт — потратишь меньше ресурсов канала.
А>В идеальном случае программа должна использовать весь свободный канал, а в случае если кто-то еще использует канал то брать только то что свободно.
А>Тоесть приоритет на канал должен быть самый низкий.
В windows вплоть до висты нет приоритизации ввода-вывода. Поэтому единственный вариант добиться чего-то похожего — отправлять данные
а) синхронно
б) небольшими порциями
в) из потока с низким приоритетом.

И то я не уверен, что все получится правильно — нужно экспериментировать. Есть риск, что низкоприоритетный поток один хрен будет ухитряться вклиниваться в передачу высокоприоритетного.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.