Qt Windows Share - PullRequest
       4

Qt Windows Share

2 голосов
/ 02 августа 2011

Я хочу сделать приложение в qt 4.7.4, где мне нужно использовать общие папки в Windows.

Я искал вокруг и обнаружил, что могу использовать QDir (hostName), но есть проблема: Я не могу контролировать используемую пропускную способность. Я хотел бы иметь возможность установить максимальную скорость передачи, когда доступ к хосту в сети.

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

Заранее благодарю за помощь.

1 Ответ

1 голос
/ 02 августа 2011

Я полагаю, что пропускная способность управляется драйверами или службами операционной системы, такими как QoS или брандмауэры.QDir использует только интерфейс, предоставляемый операционной системой для доступа к каталогу.Он отлично работает с shared dir только потому, что общий dir Windows ведет себя так же, как обычный dir.

Кстати, вы можете попробовать вручную управлять пропускной способностью, реализовав собственную процедуру копирования файлов.Извините, если мое решение слишком наивно или не подходит.Вы можете открыть файл (см. QFile) в общем каталоге только для чтения и открыть файл на локальном компьютере только для записи.Затем вы начинаете читать части данных из общего файла по таймеру (см. QTimer).Таким образом, вы можете указать, как часто вы хотите копировать порции данных (QTimer параметр) и сколько байтов данных вы копируете за раз (QIODevice::read параметр функции).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...