="justify"> · робота з плейлистами і піснями поточного користувача (вибір, редагування, додавання, видалення);
· відтворення MP3-файлу;
· перегляд жанрової статистики;
Перший етап - підключення клієнта до сервера. У вікні клієнта в поле IP Server вводиться адреса сервера, значення порту «+8888», після натискання клавіші «Connect» відбувається підключення, сервер автоматично передає клієнтові список всіх наявних пісень, а також дані для режиму «гість».
Наступним етапом після підключення клієнта є авторизація користувача. Якщо користувач вже є в базі сервера, то процес аутентифікації виглядає так:
шифрування введеного користувачем пароля за алгоритмом MD5;
передача сервера клієнтом логіна і пароля;
пошук у базі даних сервером користувача з заявленим логіном, якщо такого користувача немає, то північ оповіщає про це клієнта. Якщо користувач був знайдений в базі, відбувається перевірка відповідності паролів. У базі даних сервера паролі зберігаються в зашифрованому вигляді з метою забезпечення безпеки. У разі неспівпадання паролів сервер відправляє відповідне повідомлення. Якщо дані авторизації були введені коректно і користувач підтверджений, сервер повертає клієнтського додатку список його плейлистів.
Якщо користувач вперше користується додатком і ще не має особистого облікового запису йому необхідно пройти процедуру реєстрації.
Додаток клієнт передає серверу логін, під яким користувач хоче бути зареєстрований в системі, і пароль, зашифрований методом MD5.
Сервер здійснює пошук у базі даних і якщо такий логін вже існує, то повідомляє про це клієнта.
Відтворення MP3-файла здійснюється за принципом передачі від клієнта серверу повного шляху цільового файлу, сервер ділить його по байтах і посилає клієнтові частинами по одному кілобайт, а сам клієнт записує отримані дані в тимчасовий файл «kurso.mp3 », який потім відтворюється.
При відправці клієнтом запиту на перегляд жанрової статистики, сервер заповнює масив даними, наявними в базі. Кожен елемент - це число пісень певного жанру із загального серверного списку. Масив передається клієнту, який використовує отриману інформацію в якості координат для побудови графіка (див. Додаток Б3).
4.7 Обмін даними
Спілкування клієнта з сервером здійснюється за допомогою передачі строкових команд. При компонуванні запиту програма-клієнт записує в початок такого рядка слово-ідентифікатор, службовець для виклику на сервері відповідної функції оперування з MP3 або БД. В основну частину рядка записуються дані, призначені для обробки сервером, розділяються вони символом «$», кінець рядка позначається символом «%». Наприклад, коли клієнт відправляє запит серверу на отримання списку плейлистів поточного користувача, рядок буде виглядати наступним чином: «i_want_user_playlists $ lt; Ім'я користувача gt; $ lt; Пароль gt; $%», де підрядок «i_want_user_playlists» служить ідентифікатором однойменної функції на сервері, яка у свою чергу приступає до компонування рядка-відповіді клієнту, оперуючи даними з серверної бази. Структура цього рядка виглядає наступним чином: «take_user_playlists $ Id користувача $ lt; Список плейлистів, розділених знаком долара gt; $%» ». Клієнт прийме ці дані, і виведе отриману інформацію для перегляду користувачем. Таким чином, кожна функція серверного додатку має своє унікальне назву, яка відповідає певному запиту клієнта. Сам клієнт, у свою чергу також реагує на отриману відповідь дією, обумовленим ідентифікатором на початку рядка-відповіді, отриманої від сервера.
4.8 База даних
Для реалізації поставленого завдання в проектовану БД необхідно включити наступні розділи:
1) інформація про наявні користувачах;
2) інформація про плейлистах кожного з користувачів;
) інформація про пісні кожного з плейлистів;
) інформація про музичних жанрах;
Реляційна модель даних деякої предметної області являє собою набір відносин (двовимірних таблиць), що змінюються в часі.
У загальному випадку можна вважати, що реляційна БД включає одну іЧи кілька таблиць, об'єднаних смисловим змістом, а також процедурами контролю цілісності та обробки інформації в інтересах вирішення деякої прикладної задачі. Наприклад, при використанні СУБД Microsoft Access у файлі БД поряд з таблицями зберігаються й інші об'єкти бази: запити, звіти, форми, макроси і модулі.
Гідність РМД полягає в простоті, зрозумілості і зручності фізичної реаліза...