Задача:
Ограничить входящий(в последствии и исходящий) траффик на машине, так чтобы пользователь, сидящий за ней кроме как по скорости немог определить ограничение. При этом в силу конфигурации сети (ADSL-Ethernet модем — Switch — машины(одна из которых — рассматриваемая)), не получится поставить прокси или что-то подобное.
Из того что сделал:
Я пошел путём хукования
![](/Forum/Images/smile.gif)
(от слово-то какое). Перехватываю функцию recv. На данный момент тренируюсь на отдельном приложении (Download Master если кому-то интересно). Действительно, скорость ограничевается (пока как константа до 5К бит/сек), но при этом загрузка ЦП возрастает с 0.5% до 70-75%, что недопустимо (так как можно понять, что ограничение стоит). Попытка перехватить select никчему не привела (ИМХО DM её не вызывает).
Внимание, вопрос: Что я делаю не так
![](/Forum/Images/smile.gif)
Или, покажите/дайте ссылку на работающий пример. Не обязательно Delphi, но желательно (не хочу потом переводить на другой язык).
Спасибо за внимание.
Если нужны исходники того, что уже сделал — скажите — выложу.