Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Upload Bandwidth Limit / 13 сообщений из 13, страница 1 из 1
23.06.2014, 14:14
    #38677274
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Привет всем.

Пользователь заливает файлы на сервак и в настройках поставил ограничение скорости 1 KB/s.

Вопрос: Каким образом можно насильно снизить скорость до 1 KB/s, не используя Thread.Sleep и Thread.Wait ?
...
Рейтинг: 0 / 0
23.06.2014, 14:22
    #38677294
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Непонятен вопрос.

Кого ограничить (клиент, сервер)? Ограничить что (аплоад, даунлоад)? Почему такие требования (без Sleep)?
...
Рейтинг: 0 / 0
23.06.2014, 14:27
    #38677302
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Клиент заливает файлы на сервер.
В настройках на клиенте поставил предельную скорость для заливки файлов на сервак равную, например, 1 KB/s.

Если использовать Thread.Sleep , алгоритм выглядит так:
1)Пользователь заливает 1 секунду файлы со своей максимальной скоростью 10 MB/s
2)на N часов Thread.Sleep , чтобы средняя скорость заливки стала равной 1 KB/s.

что есть не очень хорошо, необходимо чтобы заливка продолжалась всё время с предельной скоростью 1 KB/s.
...
Рейтинг: 0 / 0
23.06.2014, 15:47
    #38677489
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
есть идеи?
...
Рейтинг: 0 / 0
23.06.2014, 15:52
    #38677500
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Для задних рядов повторяю -Нахлобуч Кого ограничить (клиент, сервер)?
...
Рейтинг: 0 / 0
23.06.2014, 16:02
    #38677523
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
ИзопропилДля задних рядов повторяю -Нахлобуч Кого ограничить (клиент, сервер)?
клиент
...
Рейтинг: 0 / 0
23.06.2014, 16:05
    #38677528
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Ну... проанализировав исходный пост... можно предположить, что таки клиента... тоды как-то так... http://stackoverflow.com/a/1067956
...
Рейтинг: 0 / 0
23.06.2014, 16:17
    #38677556
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Students,


асинхронная запись в сокет+ таймер, но без фанатизма, длительных простоев быть не должно.

PS докачка при разрыве соединения предусмотрена?
...
Рейтинг: 0 / 0
23.06.2014, 16:18
    #38677561
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
buserНу... проанализировав исходный пост... можно предположить, что таки клиента... тоды как-то так... http://stackoverflow.com/a/1067956

тут Thread.Wait и этот алгоритм не подходит
...
Рейтинг: 0 / 0
23.06.2014, 16:19
    #38677565
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
ИзопропилStudents,


асинхронная запись в сокет+ таймер, но без фанатизма, длительных простоев быть не должно.

PS докачка при разрыве соединения предусмотрена?

да, всё предусмотрено
...
Рейтинг: 0 / 0
23.06.2014, 16:20
    #38677569
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Когда пользователь ставит 100Кб/c максимум , он хочет посмотреть, например, чемпионат мира по футболу по интернету в HD качестве.

А вместо этого у него раз в минуту будет его футбол зависать из-за того что мы бэкапим раз в минуту со скоростью 6 MB/s, а затем целую минуту Thread.Wait , чтобы средняя была не более 100Кб/c.

Например, когда торрент ставим 25KB/s максимум, то там всё чётко работает и остальные приложения, связанные с интернетом не лагают.
...
Рейтинг: 0 / 0
23.06.2014, 16:33
    #38677593
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
есть идеи?
...
Рейтинг: 0 / 0
23.06.2014, 16:38
    #38677606
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload Bandwidth Limit
Students,

реализуй асинхронную запись в сокет.
в AsyncCallback вычисляй среднюю скорость,
если порог превышен - взведи таймер и следующую запись в сокет спланируй по таймеру,
иначе отправляй следующий фрагмент сразу(асинхронно, естественно)
интервал таймера слишком большой не делай, дабы коннект не порвался
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Upload Bandwidth Limit / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]