M
16 сентября 2019 г. 1:58

QFileSystemWatcher

Qt, c++, QFileSystemWatcher

Возможно ли отслеживание с помощью данного класса изменений на удаленном сервере? Если да, то как реализовать.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
6
M
  • 16 сентября 2019 г. 2:51

У класса есть метод AddPath(). Можно ли передать URL.

Добрый день!

На удалённом сервере вряд ли. Этот класс из core модуля, а удалённый сервер - это ещё и network модуль нужно подтягивать.

Тут на удалэнном сервере нужно делать программу наблюдателя с тем же самым QFileSystemWatcher, которая уже будет посылать список изменений на клиентское ПО.

Максимум, возможно, если только получится отслеживать изменения в рамках подключаемых сетевых дисков, как например расшаренные диски в Windows, здесь средства самой ОС должны помочь, но я такое не проверял, поэтому жто только догадка, как по факту там обстоят дела, я не знаю.

А если нужно мониторить изменения директории на удалённом ПК типо как по SSH или акому-то протоколу, то для такого ПК нужно написать что-то вроде серверного ПО, которое будет отслеживать директорию и посылать обновления подключённым клиентам.

M
  • 18 сентября 2019 г. 17:35

Понятно Тогда можно ли достать только параметры файла? Например только дату его изменения

C

Здравствуйте!

Как вариант могу вам посоветовать QFtp класс, с помощью него можна просматривать, удалять, переименовывать и т.д файлы на сервере через клиентское ПО. Если вас такое интересует, могу вам сбросить его?

M
  • 22 сентября 2019 г. 1:50

Этот вариант не подходит т.к. необходима передача данных через http протокол

M
  • 22 сентября 2019 г. 1:54
  • (ред.)

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

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Donate

Здравствуйте, уважаемые пользователи EVILEG !!!

Если сайт вам помог, то поддержите разработку сайта финансово, пожалуйста.

Вы можете сделать это следующими способами:

Спасибо, Евгений Легоцкой

SF
27 января 2020 г. 5:10
Sergei Filin

C++ - Тест 001. Первая программа и типы данных

  • Результат:73баллов,
  • Очки рейтинга1
БМ
25 января 2020 г. 13:16
Бекзод Муминов

C++ - Тест 001. Первая программа и типы данных

  • Результат:53баллов,
  • Очки рейтинга-4
БМ
25 января 2020 г. 13:04
Бекзод Муминов

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20баллов,
  • Очки рейтинга-10
Последние комментарии
m
27 января 2020 г. 9:53
michaeldevp

Единственная проблема состоит в том, что для выделения QCheckBox приходится дважны нажимать мышь. Получается что сначала выделяется ячейка. а только потом фокус уже попадает на виджет. …
27 января 2020 г. 1:01
Ruslan Polupan

Да так, посмотрел библиотеку попробовал примеры...
s
26 января 2020 г. 14:51
shame

Чего не webassembly?
21 января 2020 г. 14:12
Docent

Полезная статья. Как всегда - то что надо. Добавлю ещё маленькую полезность - после установки tracer (88 строка) и перед выводом значений в lineEdit (91 строка) стоит добавить updatePositio…
17 января 2020 г. 2:31
Андрей Янкович

Выглядит как ошибка библиотеки. Расскажите подробно на какой платформе вы собираете проект (MinGW или MSVC) их версии и версии Qt.
Сейчас обсуждают на форуме
27 января 2020 г. 3:17
Илья Чичак

а почему бы не сделать одну модель, например Attachement со всеми этими полями, и в зависимости от действия пользователя, например, "добавить документ", "добавить картинку" и т.д. класть все это…
E
26 января 2020 г. 11:42
Edi

Другого способа, как получать перезагруженный контент через JavaScript на странице, я не знаю. Получилось сделать без QWebEngineView, с помощью QWebEnginePage, runJavaScrip…
E
26 января 2020 г. 11:14
Edi

Да, я не понял до конца того, как это работает, мало опыта работы с qt и QVAriant ни разу не использовал. Спасибо за помощь)
VZ
26 января 2020 г. 4:11
Vladimir Zhitkovsky

Да, спасибо порешалось таким образом: удаление одного for(int i = 0; i < lstData.count(); ++i){ auto *data= dynamic_cast<Data*>(lstData[i]); if(data) { if(…
14 января 2020 г. 9:04
Руслан Волшебник

Проблема осталась. Но я выснил, что это происходит когда файл достигает максимального размера.
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB