![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ограничение трафика
SEvgeniy © (2003-09-05 18:27:00)
а вот собственно и сабж мастера. подскажите плиз кто знает,как (например Reget) ограничить входящий трафик.
SEvgeniy (2003-09-08 18:22:00) [21]
посмотрел я в msdn справочку на recv и пишут там:
If no incoming data is available at the socket, the recv call blocks and waits for data to arrive. When the socket is nonblocking, a value of SOCKET_ERROR is returned with the error value set to WSAEWOULDBLOCK
тоесть,если я правильно понял,ошибочка выдается если данных не приехало?и как мне это может помочь?хотя на самом деле задача чисто теоретическая...просто интересно
esu (2003-09-08 13:14:00) [22]
насчет команды "шлите мне не быстрее чем N байт в секунду" погорячиля конечно. Подразумевал конечно n байт с периодичностью m.
esu (2003-09-08 13:11:00) [23]
Reindeer Moss Eater © (08.09.03 12:53) [14] Ну а первый-то байт (и все остальные тоже) все равно полетит со свистом и неограниченной скоростью :)
Ну и пусть себе летит, главное что б пакетики других сервисов рядышком могли лететь :) У меня ping www.delphimaster.ru никаких пиковых нагрузок не вызывает. Передает себе по 32 байта раз в секунду и никому не мешает.
А среднюю по больнице температуру можно было бы и понастраивать.
Anatoly Podgoretsky (2003-09-08 13:03:00) [24]
И я против, поскольку про красоту в вопросе ничего не было.
Reindeer Moss Eater (2003-09-08 13:01:00) [25]
Анатолий, я в общем-то не спорю, я возражал против [10]
Anatoly Podgoretsky (2003-09-08 13:01:00) [26]
А можно и не обеспечивать плавность, передал 9600 и ждемс начало следующей секунды, нужно всего лишь ограничения трафика, а не плавность.
Anatoly Podgoretsky (2003-09-08 12:59:00) [27]
Ну да, при желании можно добавить адаптацию, по результатам передачи предыдущих блоков.
На самом деле даже коэффициент не обязательно расчитыывать, достаточно назбить передачу на фиксированные интервалы времени. например по 100 мс.
Reindeer Moss Eater (2003-09-08 12:56:00) [28]
Это "средняя по палате температура"
Anatoly Podgoretsky (2003-09-08 12:53:00) [29]
9600/115200*9600 это 800 и интервал между посылками
Reindeer Moss Eater (2003-09-08 12:53:00) [30]
Ну а первый-то байт (и все остальные тоже) все равно полетит со свистом и неограниченной скоростью :)
Anatoly Podgoretsky (2003-09-08 12:51:00) [31]
Именно, никаких перегрузок не будет, не надо сразу передавать 9600 бит, надо передавать за раз 9600/115200 бит и будет плавно
Reindeer Moss Eater (2003-09-08 12:44:00) [32]
Будут периодические пиковые нагрузки на канал.
"шлите мне не быстрее чем N байт в секунду"
И периодических пиковых нагрузок не будет?????
Reindeer Moss Eater (2003-09-08 12:43:00) [33]
Неужели просто "не подумали" ?
То, что так очевидно для комнатной сети, выглядит бессмыслицей для реальных условий.
esu (2003-09-08 12:36:00) [34]
Вообще конечно вечная тема. Все равно предложенным panov © образом красивого ограничения не получится. Будут периодические пиковые нагрузки на канал.
Интерестно почему не сделали это на уровне протокола (http, ftp ??). Скажем посылаешь команду "шлите мне не быстрее чем N байт в секунду" и сервер послушненько шлет не быстрее чем N... Вроде бы ничего сложного в реализации нет. Неужели просто "не подумали" ?
panov (2003-09-08 12:18:00) [35]
Переполнения не будет. Будет появляться ошибка(WSAEWOULDBLOCK для неблокирующего режима), которую тебе нужно обрабатывать.
SEvgeniy (2003-09-08 12:12:00) [36]
ну вроде как объем зависит от скорости,ну да ладно,допустим у меня канал 115к,а надо из него (например) попользовать 9600,чтобы и другим осталось.
to Reindeer Moss Eater ©
ну сделаю я паузу,а буфер TCP один хрен набивается,и его надо вовремя выбрать,не выбереш - переполнение...
Anatoly Podgoretsky (2003-09-05 20:10:00) [37]
Ну для меня в данному случае было понятно как скорость, хотя пусть автор уточнит и еще где надо ограничить.
panov (2003-09-05 20:05:00) [38]
я из вопроса понял, что нужн оогранчит объем, а не скорость.
Anatoly Podgoretsky (2003-09-05 19:57:00) [39]
panov © (05.09.03 18:52) [3]
Скорость, но не объем, на чисто лигическом уровне, просто не передаем больше чем заказано, а квант передаваемой информации ограничивает указанным размером.
Reindeer Moss Eater (2003-09-05 19:56:00) [40]
Входящий трафик ограничивается так:
Читаем кусочек, измеряем bps.
Если больше чем надо, делаем паузу, кушаем твикс.
Переходим ко второй строчке.