Не могли бы вы подсказать, как можно ограничить скорость копирования файлов по локальной сети с одной машины на другую без использования сокетного соединения.
Т.е. мне необходимо без использования сокетов, только функциями ФС скопировать файл (довольно большой) с одного компьютера на другой. При этом необходимо задать скорость передачи данных — например 2 Мбит/с.
Есть мысль сделать это через CopyFileEx и ее callback функцию.
А зачем... Копируй, как обычно. Считай среднюю скорость, положим, за 1/10 секунды и ограничивай, выполняя соотв. Sleep.
Некрасиво, конечно, но как уж есть.
Здравствуйте ThE0ReTiC, Вы писали:
TER>Доброго времени всем.
TER>Не могли бы вы подсказать, как можно ограничить скорость копирования файлов по локальной сети с одной машины на другую без использования сокетного соединения. TER>Т.е. мне необходимо без использования сокетов, только функциями ФС скопировать файл (довольно большой) с одного компьютера на другой. При этом необходимо задать скорость передачи данных — например 2 Мбит/с.
TER>Есть мысль сделать это через CopyFileEx и ее callback функцию.
TER>Не уверен, что это правильное решение.
TER>Направьте на путь истинный, плз.
Здравствуйте ThE0ReTiC, Вы писали:
TER>Доброго времени всем.
TER>Не могли бы вы подсказать, как можно ограничить скорость копирования файлов по локальной сети с одной машины на другую без использования сокетного соединения. TER>Т.е. мне необходимо без использования сокетов, только функциями ФС скопировать файл (довольно большой) с одного компьютера на другой. При этом необходимо задать скорость передачи данных — например 2 Мбит/с.
TER>Есть мысль сделать это через CopyFileEx и ее callback функцию.
TER>Не уверен, что это правильное решение.
TER>Направьте на путь истинный, плз.
Направляю.
Открываешь Рихтера (Серверные приложения для 2000-й) и смотришь код копирования с использованием портов завершения ввода-вывода. Там и скорость можно оценить и все что угодно, и если сама задача возникла из желания побороть загрузку проца при куче копирований — поможет и без слипов всяких.
Нет. Задача возникла из желания регулировать загруженность сетки данной операцией.
Спасибо. Пошел читать (чего-то я там при первом проходе не увидел. )
Здравствуйте vasketsov, Вы писали:
V>Здравствуйте ThE0ReTiC, Вы писали:
TER>>Доброго времени всем.
TER>>Не могли бы вы подсказать, как можно ограничить скорость копирования файлов по локальной сети с одной машины на другую без использования сокетного соединения. TER>>Т.е. мне необходимо без использования сокетов, только функциями ФС скопировать файл (довольно большой) с одного компьютера на другой. При этом необходимо задать скорость передачи данных — например 2 Мбит/с.
TER>>Есть мысль сделать это через CopyFileEx и ее callback функцию.
TER>>Не уверен, что это правильное решение.
TER>>Направьте на путь истинный, плз.
V> V>Направляю. V>Открываешь Рихтера (Серверные приложения для 2000-й) и смотришь код копирования с использованием портов завершения ввода-вывода. Там и скорость можно оценить и все что угодно, и если сама задача возникла из желания побороть загрузку проца при куче копирований — поможет и без слипов всяких.