Ограничение ширины канала

Home Forums Discussions General Discussion Ограничение ширины канала

This topic contains 0 replies, has 1 voice, and was last updated by  Jaze 8 years, 11 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #5234

    Jaze
    Participant

    Реализовал ограничение пропускной способности описанным на этом форуме методом – пакеты кладутся в очередь и достаются по таймеру. Но даже если я на каждом хите таймера достаю все пакеты и отправляю клиенту максимальная ширина по сравнению с реальной падает( Грубо говоря в 2 раза. При максисмуме моего соединения около 1Мб/с качается ~400-500кб/с. Значения таймера пробовал от 200 до 1. На 200 вообще дай бог 100 кб/с идет. Собственно и вопрос – что может быть не так? Реализовывал на managed c++ с использованием managed классов типа Queue, String итд. Могло ли это повлиять на скорость? Если да то дайте пожалуйста пример на unmanaged c++ – у меня с ним совсем плохо(
    Upd. Видимо managed классы не влияют тк вся последовательность действий по определению пакета в очередь и доставания из нее перенесенная в главную процедуру обработки пакетов скорость не уменьшила. Весь тот же код выполняющийся по таймеру уменьшает(
    Upd. А могут ли вызовы таймера накладываться друг на друга? Просто при значении его в 3мсек пакеты идут медленнее чем в 10мсек
    Upd. Блог какой то вышел… В общем проблема вроде бы решилась заменой System::Timers::Timer на waitForSingleObject с таймаутом в 10. Очень интересно в чем разница – может есть какие то предположения?

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.