Вивчення основних команд операційної системи Linux. Вивчення файлової системи процесів /proc. Вивчення роботи «демонів». Програма «клієнт-сервер»
15

4. Програма «клієнт-сервер»

 

 

Архітектура клієнт-сервер є одним із архітектурних шаблонів програмного забезпечення та є домінуючую концепцією у створенні розподілених мережних застосувань і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:

-         набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;

-         набір клієнтів, які використовують сервіси, що надаються серверами;

-         мережа, яка забезпечує взаємодію між клієнтами та серверами.

Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.

При виконанні даної контрольної роботи, мною була розроблена програма TCP сервер, котра «слухає» 33243 порт і дозволяє декільком користувачам з допомогою клієнтської програми telnet працювати з сервером, зокрема:

-         виконувати дистанційне архівування (команда «tar»);

-         видаляти створений архів (команда «rm»);

-         дистанційно монтувати дисковод (команда «mnt»);

-         дистанційно демонтувати дисковод (команда «umnt»).

Всі дії користувача протоколюються в файлі «l4.log», який можна продивитись з допомогою будь-якого текстового редактору.

Робота програми продемонстрована на рис. 1, Лістинг коду програми наведено в додатку 3.