Разработка аналога системы p2p

Автор работы: Пользователь скрыл имя, 17 Декабря 2011 в 13:04, курсовая работа

Описание работы

В данном курсовом проекте разработана программа-аналог системы p2p. Данная программа создана в среде Delphi версии 7.0. Программа представляет собой комплекс средств для обмена файлами между пользователями в сети, включающий в себя хаб, клиентское приложение, поиск нужных файлов, предоставление доступа к информации, чат между пользователями. Наряду с этим, в программе реализованы права доступа на действия с файлами пользователей.

Содержание работы

Введение 5
1. Анализ технического задания 7
2. Реализация 13
3. Тестирование 13
Заключение 18
Список литературы 19

Файлы: 1 файл

Пояснительная записка.doc

— 596.50 Кб (Скачать файл)

Министерство образования и науки Российской Федерации 
Муромский институт (филиал) 
Государственного образовательного учреждения высшего профессионального образования 
«Владимирский государственный университет 
имени Александра Григорьевича и Николая Григорьевича Столетовых» 
(МИ (филиал) ВлГУ) 
 

                       Факультет Информационных технологий

                      Кафедра     Информационных систем    
       

    КУРСОВОЙ

    ПРОЕКТ 

по                ИСРОД                 .  

    (наименование      дисциплины)

Тема: Разработка аналога системы p2p

                     
                     
                    Руководитель

                                                                                                  Симаков Р.А.          

        (оценка)             (фамилия, инициалы)

                                                            

                       (подпись)  (дата)

    Члены комиссии                 Студент       ПИ-107      

                                                             (группа)

                                                                                      Загребин И. С.         

        (подпись)                 (Ф.И.О.)           (фамилия, инициалы)

                                                                                                                     

        (подпись)                        (Ф.И.О.)    (подпись)  (дата)

Муром 2011 
 
 
 
 
 
 
 
 
 

      В данном курсовом проекте разработана программа-аналог системы p2p. Данная программа создана в среде Delphi версии 7.0. Программа представляет собой комплекс средств для обмена файлами между пользователями в сети, включающий в себя хаб, клиентское приложение, поиск нужных файлов, предоставление доступа к информации, чат между пользователями. Наряду с этим, в программе реализованы права доступа на действия с файлами пользователей. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

     Содержание 

     Введение 5

     1. Анализ технического задания 7

     2. Реализация 13

     3. Тестирование 13

     Заключение 18

     Список  литературы 19 

    Приложение  А Листинг программы. 20 
     
     

 

     

     Введение

      Сегодня уже невозможно себе представить  персональный компьютер не имеющий выхода в сеть. Обмен информацией по сети стал настолько незаменимым средством коммуникации, что мы просто не представляем как ранее могли обходиться без него. У обмена информацией по сети множество преимуществ, таких как простота реализации, легкая доступность, а также при наличии высокой скорости в сети - быстрая передача файлов между пользователями.

      Дальнейшее  развитие этих технологий привело к созданию одноранговых, децентрализованных или пиринговых (от англ. peer-to-peer, P2P - равный к равному) сетей. это  компьютерные сети, основанные на равноправии участников. В таких сетях отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и сервером. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов[1].

        Одна из главных областей применения технологии одноранговых сетей — это обмен файлами. Пользователи файлообменной сети выкладывают какие-либо файлы в так называемую «расшаренную» (англ. share — делиться) директорию, содержимое которой доступно для скачивания другим пользователям. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников. В современных файлообменных сетях информация загружается сразу с нескольких источников. Ее целостность проверяется по контрольным суммам[2].

      В данном курсовом проекте будет осуществлена реализация аналога системы p2p. Программа будет состоять из хаба и клиента. Клиентское приложение будет осуществлять поиск и скачивание требуемых файлов. Кроме того, в программе будет возможность обмена сообщениями между пользователями посредством чата, а также пользователи смогут предоставлять доступ к своим файлам. Хаб-приложение будет средством администрирования между пользователями. Также в нем будет возможно регистрировать новых пользователей.   

     1. Анализ технического задания

     Тему  курсового проекта – разработка аналога системы p2p. Исходя из задания, необходимо разработать программу, которая будет осуществлять поиск и обмен файлами между пользователями программы, иметь средства коммуникации между клиентами, а также иметь средства администрирования работы. Задачу, поставленную в данной работе можно разделить на две основные подзадачи, каждая из которых требует собственно алгоритма реализации:

  1. Хаб сети. Хаб будет своего рода комнатой для пользователей. Хаб имеет собственный ip-адрес и порт. Также хаб будет включать широкие опции администрирования. Возможна регистрация новых пользователей и выдача им паролей, а также удаление пользователей программы из сети.
  2. Клиент-приложение. Клиентское приложение будет осуществлять доступ по ip адресу на запущенный в сети хаб. Для доступа на хаб нужно лишь знать адрес хаба, а также логин и пароль для зарегистрированных пользователей. Другие пользователи, вошедшие без регистрации могут иметь меньше прав по сравнению с  зарегистрированными. В клиентском приложении пользователи могут с помощью кнопки поиска найти требуемый им файл, а затем и скачать его. Для общения между пользователями будет реализован чат. Вошедший на хаб должен расшарить каталог с файлами, то есть открыть доступ к части своих файлов другим пользователям, чтобы они также могли скачать требуемую им информацию. Также пользователи могут определять каким пользователям они разрешают скачивать у себя файлы, а каким запрещают доступ к своим файлам. Для этого требуется реализовать механизм ограничения прав доступа на файлы определенным лицам.

     Разрабатываемое приложение должно быть как можно  проще в работе, иметь доступный  и легкий интерфейс, чтобы у пользователя не возникало проблем с работой в программе. Также оно должно удовлетворять требованиям к системе пользователя. 

     Работа  приложения начинается с запуска  администратором хаба. Без его  запуска пользователи сети не смогут увидеть друг друга. Администратор  настраивает хаб – выбирает порт для него и узнает ip адрес компьютера на котором запущен хаб. Также администратор может регистрировать новых пользователей хаба, создавая им учетные записи с логинами и паролями зарегистрированных пользователей. Для запуска или отключения хаба администратором необходимо нажать соответствующие кнопки в интерфейсе программы.

     После запуска администратором хаба, пользователи смогут войти на него через клиентское приложение. Запустив его пользователь должен наддать на кнопку соединения с хабом и ввести ip адрес и порт хаба. Если пользователь не зарегистрирован на хабе и не ввел свой пароль и логин при входе на хаб, то он считается гостем на хабе. Чтобы войти как зарегистрированный пользователь необходимо ввести при входе свои учетные данные, а именно пароль и логин выданные администратором хаба для зарегистрированных лиц. Войдя на хаб пользователь программы может сразу же начать поиск требуемого ему файла нажав на соответствующую кнопку поиска в приложении. На основе сделанного запроса пользователя будет осуществлен поиск по расшаренным файлам других пользователей, находящихся в данный момент также на этом хабе. Если файл будет найден, то результат запроса отобразится в окне поиска. Для скачивания файла необходимо лишь выбрать сам требуемый файл и нажать кнопку “Скачать файл”. В опциях программы пользователь может настроить каталог для скачивания новых файлов, а также указать собственные расшаренные файлы, то есть файлы открытые для доступа другим клиентам программы. Также сам пользователь может ограничить доступ к своим собственным файлам и действиям с ними определенным клиентам. При скачивании файла с другого компьютера возможно упаковать или распаковать скачиваемые файлы, например для уменьшения размера скачиваемых файлов, а следовательно и для уменьшения времени скачивания файла. Для обмена сообщениями между пользователями в программе требуется реализовать чат между клиентами.

     Кроме того, в программе должна подробна и наглядно отражаться информация о  скачивании или отдаче файлов пользователя. На основе последующего тестирования будет выявлена работоспособность программы, а также всех ее составных элементов.

     В результате, по итогам проведенного анализа  можно выявить основные этапы разработки данной программы:

     1. Создание хаб-приложения;

           - добавление зарегистрированных пользователей;

           - запуск и остановка хаба;

           - удаление пользователей с хаба.

     2. Создание клиентского приложения:

           - подключение к хабу;

         - скачивание новых файлов;

         - поиск требуемых файлов в сети;

         - упаковка и распаковка информации;

         - ограничение прав доступа к  своим файлам;

         - просмотр информации о файле  и о процессе скачки;

            - общение по чату.

     Средой  разработки требуемых алгоритмов является Delphi 7.0.

     Список  разрабатываемых классов программы и процедур, а также краткая информация по ним описана в таблице 1.

     Таблица 1 – Классы и процедуры программы

Программа Класс процедура Описание
Хаб-приложение Info TfInfo.ShowInfo Вызов информационного  окна
Main FormCreate Создание формы
FormDestroy Удаление формы
btnExitClick Выход из программы
1 2 3 4
3
4
    btnMyIPClick Определение ip-адреса
    lvPeersChange Изменение пользователей  на хабе
FormShow Отображение формы
btnRemoveClick Процедура удаления
btnSettingsClick Процедура опций  хаба
btnUsersClick Процедура регистрации пользователей
btnStartClick Запуск хаба
btnStopClick Остановка хаба
Settings FormCreate Создание формы
FormShow Отображение формы
SaveData Сохранение  изменений
Users FormCreate Создание формы
FormDestroy Удаление формы
btnEditClick Редактирование  пользователей
btnAddClick Добавление  пользователей
btnRemoveClick Удаление пользователей
Клиент-приложение Chat LoadForm Загрузка формы
SaveForm Сохранение  формы
btnChatClick Отправка сообщения  в чате
FormCreate Создание формы
FormDestroy Удаление формы
Connect btnOkClick Соединение  с хабом
Files FormCreate Создание формы
FormDestroy Удаление формы
btnInClick Переход в каталог  в шаре
1 2 3 4
1 2 3 4
    btnUpClick На каталог  вверх в шаре
btnListClick Список файлов пользователя
btnUnzipClick Распаковка  файлов
btnZipClick Архивация файлов
btnUploadClick Отдача файлов
btnDownloadClick Скачивание  файлов
btnRenameClick Переименование  файлов
btnDeleteClick Удаление файлов
btnNewClick Расшаривание  файлов
btnAbortUploadClick Прерывание  отдачи
btnAbortDownloadClick Прерывание  закачки
Info TfInfo.ShowInfo Вызов информационного  окна
Main FormCreate Создание формы
FormDestroy Удаление формы
btnExitClick Выход из программы
btnConnectClick Соединение  с хабом
btnCancelClick Закрытие хаб
btnClearLogClick Очистка чата
btnUsersClick Переход к шаре пользователя
btnChatClick Чат пользователей
btnFilesClick Шара пользователя
btnSearchClick Поиск файла
btnSettingsClick Настройки программы
btnRemoveClick Удаление файлов
User Assign Добавление  пользователя
1 2 3 4
1 2 3 4
  Search btnStartClick Начало поиска
btnStopClick Остановка поиска
FormClose Закрытие формы
Settings FormCreate Создание формы
FormShow Отображение формы
SaveData Сохранение  изменений

Информация о работе Разработка аналога системы p2p