Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ограничение трафика


Страницы:   1 2 3

SEvgeniy ©   (2003-09-05 18:27:00) 

а вот собственно и сабж мастера. подскажите плиз кто знает,как (например Reget) ограничить входящий трафик.


Izyum   (2003-09-11 18:08:00) [1]

Я не буду обсужать возможность или невозможность реалтзовать подобный алгоритм средствами Делфей, но есть такая вещь как UserGate-классический пркси-сервер+много чего интересного, так вот он умеет устанавливать лимит индивидуально для конкретного пользователя по времени, по объему, по скорости ит.д.


SEvgeniy   (2003-09-11 14:45:00) [2]

понятно,как нибудь попробую и раскажу что получится,ну а пока всем БОЛЬШОЕ спасибо за обсуждение.


Anatoly Podgoretsky   (2003-09-10 20:36:00) [3]

Да но мы уходим от темы, если ты дудешь передавать/принимать указанное количество байт в секунду, то ты достигнешь своей прямой цели - занять 1/12 от канала в 115 кбод.


Anatoly Podgoretsky   (2003-09-10 20:33:00) [4]

SEvgeniy (10.09.03 19:29) [38]
Зря сомневаешься, я встречал сайты, которые не соглашались работать на низкой скорости, при это это было явно указано в Welcome сообщении.
Тоже по времени, конечно никто не будет ставить такие маленькие таймауты, но допустимо.


panov   (2003-09-10 20:13:00) [5]

>SEvgeniy (10.09.03 19:29) [38]
вот именно!!!!,но это же не так

Есть стандарты...


SEvgeniy   (2003-09-10 19:29:00) [6]

вот именно!!!!,но это же не так


panov   (2003-09-10 18:19:00) [7]

ну секунду ладно,можно,а 20 или минуту,вдруг мне захочется ограничить,например, 10 байт/сек?

В таком случае передающая сторона решит, что у тебя слишком глюкавое соединение и оборвет связь.


SEvgeniy   (2003-09-10 17:32:00) [8]

ну дык я же и спрашивал чисто теоретически,хотя в принципе и такая задача может возникнуть,поэтому и интересно!как ее можно реализовать...


panov   (2003-09-10 14:50:00) [9]

ну секунду ладно,можно,а 20 или минуту,вдруг мне захочется ограничить,например, 10 байт/сек?

Значит, получишь ошибку.
Ты смотри реально на вещи.


SEvgeniy   (2003-09-10 14:13:00) [10]

ну секунду ладно,можно,а 20 или минуту,вдруг мне захочется ограничить,например, 10 байт/сек?


Anatoly Podgoretsky   (2003-09-10 11:56:00) [11]

Какой то нехороший сервер, не может секунду подождать.


Reindeer Moss Eater   (2003-09-10 11:47:00) [12]

[4].


SEvgeniy   (2003-09-10 11:21:00) [13]

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


Reindeer Moss Eater   (2003-09-10 11:12:00) [14]

TCP так устроен. Он ждет квитанции на отправляемые пакеты.


SEvgeniy   (2003-09-10 10:57:00) [15]

тоесть, получается,система скажет серверу,типа погоди не шли больше данных,и он(сервер) будет ждать пока я весь буфер не выберу?


panov   (2003-09-09 19:37:00) [16]

>SEvgeniy (09.09.03 17:43) [25]

ну буду я медленно читать,а сервер то наливает с максимально возможной для себя скоростью(или я не прав),ну переполнится у меня буфер и что?

Ну не может буфер переполниться - это система обеспечивает.


SEvgeniy   (2003-09-09 19:19:00) [17]

ну неправильно выразился,для клиента конечно,понятно что больше физической возможности (модема,линии, и.т.д. у клиента) не пролезет.


Reindeer Moss Eater   (2003-09-09 17:47:00) [18]

ну буду я медленно читать,а сервер то наливает с максимально возможной для себя скоростью(или я не прав),ну переполнится у меня буфер и что?

А ты не пробовал представить ситуацию когда сервер расположен на толстенном backbone и сливает инфу на клиента со страшной скоростью а по пути к клиенту встречается канальная аппаратура провайдера клиента имеющая меньшую полосу. Происходит что-то неприятное для провайдера клиента или нет?


SEvgeniy   (2003-09-09 17:43:00) [19]

толи лыжи не едут,толи я не понимаю :( значит имеем что то вроде:

T:=1000;
N:=1024;
repeat
tcp.readbuffer(buf,N);
.....................
sleep(T);
until false;

ну буду я медленно читать,а сервер то наливает с максимально возможной для себя скоростью(или я не прав),ну переполнится у меня буфер и что?


panov   (2003-09-08 20:06:00) [20]

Предлагал и предлагаю такой метод реализовать, хотя сам не пробовал.

1. Вычисляем, сколько байт(N) с каким интервалом(T) мы должны получать, чтобы получить искомую скорость.
2. Читаем из сокета N байт.
3. Устанавливаем паузу(T) секунд.
4. Переходим к п.1.

WSAEWOULDBLOCK использовать при приеме не надо. Эту ситуацию будет посылающая сторона обрабатывать...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо