Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
khizh.doc
Скачиваний:
3
Добавлен:
23.12.2018
Размер:
1.25 Mб
Скачать

19

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ ТАРАСА ШЕВЧЕНКА

Кафедра комп’ютерної інженерії

ПОЯСНЮВАЛЬНА ЗАПИСКА

до курсової роботи з дисципліни

"СИСТЕМНЕ ПРОГРАМУВАННЯ"

Тема "Розробка Windows-служб "

Виконав студент III курсу групи КІ

радіофізичного факультету

Хижняк Андрій Андрійович

Керівник

Загороднюк Сергій Петрович

КИЇВ 2011

Робота демонструє можливості створення Windows-служб за допомогою мови програмування C#.

Загальний обсяг роботи складає 21 сторінку. Для ілюстрації програм використовується 6 рисунків, вказано 3 літературних джерела та міститься 1 додаток. Робота складається з двох частин: описової та практичної.

У першій частині розглянуто основні функціональні можливості FtpWebRequest, та WebRequest.

Також розглядаються основні принципи побудови Windows-служби та наведений короткий опис структури служби, що була використана при реалізації задач.

Друга частина реалізовує функціональність, що вказана у завданні.

Ключові слова: WINDOWS SERVICE, FTP, FtpWebRequest, C#, .NET

ЗМІСТ

Вступ 4

1 Завдання 5

1.1 Постановка задачі 5

2 FtpWebRequest 7

2.1 Огляд Протокол Ftp 7

2.1.1 Активний та пасивний режими 7

2.1.2 Анонімний вхід 7

2.1.3 Основні команди 8

2.2.4 FtpWebRequest 8

3 Хеш-функція 9

3.MD4. 10

3.2 SHA1. 10

3 Визначення служби WINDOWS 11

3.1 Служба WINDOWS 11

3.2 Життєвий цикл служби 11

4 Особливості реалізація сервісу 13

4.1 Вхідні дані 13

Висновки 14

Перелік посилань 15

Додатки 16

ВСТУП

Служби Windows - програми, що автоматично запускаються системою при запуску Windows і виконуються незалежно від статусу користувача. Мають спільні риси з концепцією демонів в Unix. Ці служби не містять елементів користувальницького інтерфейсу, можуть бути зупинені і запущені повторно і здатні автоматично запускатися при завантаженні комп'ютера. Ці особливості роблять служби ідеальним засобом для використання на сервері, а також у ситуаціях, коли необхідна довготривала робоча функціональність, що не заважає роботі користувачів на тому ж комп'ютері. Крім того, служби можуть запускатися в контексті безпеки певного облікового запису Windows, що відрізняється від поточного користувача або облікового запису комп'ютера за замовчуванням.

У більшості випадків службам заборонена взаємодія з консоллю або робочим столом користувачів (як локальних, так і віддалених), однак для деяких сервісів можливе виключення - взаємодія з консоллю (сесією з номером 0, в якій зареєстрований користувач локально або при запуску служби mstsc з ключем / console). Windows-Service створюється, як проект Microsoft Visual Studio, в проект поміщається код, що визначає, які команди можуть бути надіслані службі, і дії, які повинні бути виконані у відповідь на ці команди. Службі можуть бути послані команди запуску, зупинки, припинення та поновлення виконання.

Мета роботи полягає у вивченні технології створення служб Windows та створення демонстраційних функціональних програм з її використанням.

1 Завдання

1.1 Постановка задачі

Розробити Windows-службу “Google Maps Client”, яка за фактом розміщеної заявки отримує з сайту Google Maps за допомогою його API карту або супутникову фотографію потрібної місцевості і зберігає її в локальний каталог у вигляді BMP-файлу. На супутниковій фотографії не повинно бути ніяких позначень. Наявність або відсутність коректної заявки на завантаження карти залежить від параметра реєстру типу Multi-String:

HKLM/Software/Google_Maps_Client/Claim

Якщо цей параметр відсутній або має порожнє значення, це означає, що заявка відсутня, а отже повинен бути доданий наступний запис в журнал

C:\Windows\Logs\Google_Maps_Client_18-11-2011.log :

-----------------------------------------<Дата/час>------------------------------------------------------

Заявка відсутня

Коректна заявка означає наявність параметра Claim з чотирма строками відповідного формату. Масштаб 1 - найдрібніший. Масштаб 30 - найбільший, але в залежності від Google API числове значення масштабу можна змінити з 30 на інше.

Якщо параметр Claim має коректне значення, то повинен бути доданий наступний запис в журнал

C:\Windows\Logs\Google_Maps_Client_18-11-2011.log :

-----------------------------------------<Дата/час>------------------------------------------------------

ЗАЯВКА ПРИЙНЯТА!

Карта збережена під ім’ям 18-11-2011_21-45.bmp

Час завантаження 6 секунд

Після запису в журнал повинен бути вилучений параметр

HKLM/Software/Google_Maps_Client/Claim

Нарешті, якщо параметр Claim має непорожнє некоректне значення, що не відповідає наведеному вище формату, то повинен бути доданий наступний запис в журнал:

C:\Windows\Logs\Google_Maps_Client_18-11-2011.log :

-----------------------------------------<Дата/час>------------------------------------------------------

Заявка некоректна. Виправте або скасуйте заявку!

Кожен день повинен бути створений новий файл C:\Windows\Logs\Google_Maps_Client_18-11-2011.log . Журнали які створені більше ніж N місяців тому, повинні бути вилучені. N встановлюється в реєстрі в параметрі типу DWORD:

HKLM/Software/Google_Maps_Client/Log_Age

  1. Google API

2.1 Static Maps api v2 Керівництво розробника

Google Static Maps API дозволяє вбудовувати зображення карт на веб-сторінки без використання JavaScript або динамічного завантаження сторінки. Служба Google Static Map створює карту, побудовану на URL параметрах, які передаються через стандартний запит HTTP і повертає карту у вигляді зображення, яке можна зберегти або відобразити на веб-сторінці.

2.2 Огляд Google Static Maps API повертає зображення (GIF, PNG або JPEG) у відповідь на запит HTTP через URL. Для кожного запиту, ви можете вказати місце розташування на карті, розмір зображення, масштаб, тип карти, а також розміщення додаткових маркерів в місцях розташування на карті.

2.2.1 Широти та довжини

Широта та довгота визначаються за допомогою цифр в HTTP запиті,які розділені комаю,і мають точність до 6 знаків після коми. Наприклад, "40.714728, -73,998672".

Значення довготи залежить від відстані до нульового меридіана.

Широти і довжини повинні відповідати дійсним значенням на землі. Широти можуть приймати будь-яке значення від -90 до 90, в той час, як довжини можуть приймати будь-які значення від -180 до 180. Якщо ви вкажете недійсні значення широт і довжин, ваша заявка буде відхилена як неправильний запит.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]