Розділ 4. Різноманітні питання

Прозорість у роботі з мережею через використання KIO

Підлеглі засоби KIO

У бібліотеці KIO для Frameworks передбачено можливість прозорої роботи з мережею за допомогою підлеглих засобів вводу-виводу (KIO-slave). KDiff3 використовує ці засоби для читання вхідних файлів і для сканування тек. Це означає, що ви можете вказувати файли і теки, що зберігаються локально або на віддалених комп'ютерах, зазначенням їх адреси URL.

Приклад:

kdiff3 test.cpp  ftp://ftp.faraway.org/test.cpp
   kdiff3 tar:/home/hacker/archive.tar.gz/каталог ./каталог

Перший рядок призначено для порівняння локального файла з файлом, що зберігається на сервері FTP. Другий рядок призначено для порівняння теки з архівом локальної теки.

Серед інших цікавих підпорядкованих засобів вводу-виводу:

  • Файли з WWW (http:),

  • Файли з FTP (ftp:),

  • Шифроване передавання файлів (fish:, sftp:),

  • Ресурси Windows® (smb:),

  • Локальні файли (file:),

Серед інших можливостей, які, ймовірно, є менш корисними:

  • Сторінки Man (man:),

  • Сторінки Info (info:),

Як записувати адреси URL

Синтаксис адрес URL відрізняється від синтаксису шляхів локальних файлів і тек. Слід брати до уваги такі особливості:

  • Шлях може бути відносним і містити позначення тек «.» або «..». Адреси ж URL завжди слід вказувати абсолютними, використовувати подібні позначення ієрархії тек у адресах не можна.

  • Спеціальні символи слід записувати «екранованими». («#»->«%23», пробіл->«%20» тощо) Наприклад, файл з назвою «/#foo#» має адресу URL «file:/%23foo%23».

  • Якщо адреси URL не працюють у очікуваний спосіб, спробуйте спочатку відкрити сторінки за цими адресами у Konqueror.

Можливості підпорядкованих засобів вводу-виводу (KIO-Slave)

Прозорість роботи з мережею має певні недоліки: не всі ресурси мають однакові можливості.

Іноді причиною цього є файлова система на сервері, іноді — протокол. Ось короткий список обмежень:

  • Іноді відсутня підтримка посилань.

  • Іноді програма не може визначити, куди вказує посилання: на файл чи на теку; програма завжди припускає, що на файл. (ftp:, sftp:).

  • Програма не завжди може визначити розмір файла.

  • Обмежена підтримка роботи з правами доступу.

  • У програмі не передбачено можливості зміни прав доступу або часу зміни таких файлів, отже права доступу копії можуть відрізнятися від початкового файла (див. пункт Довіряти розміру (не безпечно)). Зміна прав доступу або часу зміни можлива лише для локальних файлів.