Skip to content

Latest commit

 

History

History
60 lines (48 loc) · 3.92 KB

README.md

File metadata and controls

60 lines (48 loc) · 3.92 KB

FileMonitor Опис проекту

Проект представляє реалізацію міжпроцесної взаємодії між сервером та клієнтом. Процес-сервер зберігає інформацію про файли в певній директорії, повертає інформацю про них при запиті. Процес-Клієнт надсилає запит на сервер і вказує розширення файлу, яке його цікавить і директорії для пошуку.

Автори

Технічні вимоги

  • Операційна система: Windows.
  • Visual Studio: 17.11.6 або новіший.
  • .NET Framework 4.8
  • Простір на диску: ~50 МБ
  • RAM: Мінімум 1 ГБ.

Функціональність

Процес-сервер:

  • зберігає (кешує) всі запити та відповіді на них у власну таблицю, які зберігаються протягом 5 секунд.
  • проводить пошук файлів у директоріях, вказаних користувачем. При потребі фільтрує по розширених, які вказані користувачем)

Процеси-клієнти:

  • має можливість вписати список директорій та розширень, щоб здійснити по цих параметрах пошук
  • результати записуються у таблицю

Інструкція з розгортання

  1. Встановіть Visual Studio https://code.visualstudio.com/Downloadls

  2. Налаштуйте Visual Studio під свою версію:

    • У Visual Studio Installer потрібно натиснути "Modify" та дозавантадити ".NET desktop development"
    • Запустити проект та відкрити термінал АБО під час запуску вибрати "Clone from repository"
  3. Склонуйте репозиторій

$ git clone https://github.com/TheDeiw/OS-FileMonitor.git
  1. Запустіть сервер та клієнт.

Основні етапи роботи програми:

1. Відправлення запиту на пошук файла:

  • Користувач надсилає на сервер запит на інформацію про файл.
  • Сервер обробляє запит та починає пошук.

2. Обробка помилок: Сервер виведе помилку, якщо:

  • Вказано неправильний шлях до папки
  • Помилка при зчитуванні імені файлу
  • Немає доступу до файлу або файл не існує
  • Немає зв'язку з сервером

У всіх інших випадках сервер поверне клієнту інформацію про розмір файлу та час його створення.

3. Кешування та доступ:

  • Кешування відбувається для запитів, які приходять в інтервалі 5 секунд, адже малоймовірно що файл зміниться за пять секунд від запиту до запиту. Інформація в табличці сервера оновлюється щосекундно.

Приклад роботи програми

image