Автоматизированная система учета материальных средств в аэропорту

Разработка сетевых распределенных приложений на основе клиент-серверной технологии. Проект имитационной модели локальной вычислительной сети. Расчет первичных параметров сети. Стоимость аппаратных средств. Построение модели в программной среде AnyLogic.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 30.04.2014
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное государственное образовательное учреждение высшего профессионального образования

Ульяновское высшее авиационное училище и электронно-вычислительных машин и средства коммуникации

Курсовая работа

на тему:

Автоматизированная система учета материальных средств в аэропорту

Выполнила Крылова Е.А.

курсант УК-11-1

Руководитель Брежнев В.Г.

Ульяновск, 2013

Задание на Курсовую работу

Курсант Крылова Е.А.

Группа УК-11-1

Тема: Автоматизированная система учета материальных средств в аэропорту.

Ввод данных по учету материальных средств в аэропорту осуществляется на 10 компьютерах. Отчеты передаются на сервер. Интенсивность поступления заявок с компьютера равна трем заявкам в секунду. Компьютеры объединены в сеть, построенной по технологии Ethernet.

Выполнить анализ структуры сети компьютеров, выдать рекомендации по повышению ее пропускной способности. Разработать клиент-серверное приложение, передавать данные методом датаграмм с использованием возможностей протокола UDP.

СОДЕРЖАНИЕ

Введение

1. Анализ технологий, применяемых для построения современных ЛВС

2. Разработка модели и моделирование функционирования локальной вычислительной сети

2.1 Построение модели в программной среде имитационного моделирования AnyLogic

2.2 Технико-экономическое обоснование разработки

3. Разработка клиент-серверного приложения

3.1 Разработка алгоритмов

3.1.1 Разработка и описание алгоритма клиентской части - схема связи классов

3.1.2 Разработка и описание алгоритма серверной части

4. Разработка программ

4.1 Разработка серверной части программы

4.2 Разработка клиентской части программы

4.3 Тесты. Результаты тестирования

Заключение

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

ВВЕДЕНИЕ

Ethernet--пакетная технология компьютерных сетей, преимущественно локальных. Стандарты Ethernet определяют проводные соединения и электрические сигналы на физическом уровне, формат кадров и протоколы управления доступом к среде -- на канальном уровне модели OSI. Ethernet в основном описывается стандартами IEEE группы 802.3. Ethernet стал самой распространённой технологией ЛВС в середине 90-х годов прошлого века, вытеснив такие устаревшие технологии, как Arcnet, FDDI и Token ring. Технология Ethernet была разработана вместе со многими первыми проектами корпорации Xerox PARC. Общепринято считать, что Ethernet был изобретён 22 мая 1973 года, когда Роберт Меткалф (Robert Metcalfe) составил докладную записку для главы PARC о потенциале технологии Ethernet. Но законное право на технологию Меткалф получил через несколько лет. В 1976 году он и его ассистент Дэвид Боггс (David Boggs) издали брошюру под названием «Ethernet: Distributed Packet-Switching For Local Computer Networks». Меткалф ушёл из Xerox в 1979 году и основал компанию 3Com для продвижения компьютеров и локальных вычислительных сетей (ЛВС). Ему удалось убедить DEC, Intel и Xerox работать совместно и разработать стандарт Ethernet (DIX). Впервые этот стандарт был опубликован 30 сентября 1980 года. Он начал соперничество с двумя крупными запатентованными технологиями: token ring и ARCNET, -- которые вскоре были похоронены под накатывающимися волнами продукции Ethernet. В процессе борьбы 3Com стала основной компанией в этой отрасли.

Технология Fast Ethernet является эволюционным развитием классической технологии Ethernet. 10-Мегабитный Ethernet устраивал большинство пользователей на протяжении около 15 лет. Однако в начале 90-х годов начала ощущаться его недостаточная пропускная способность. Поэтому многие сегменты 10-Мегабитного Ethernet'а стали перегруженными, реакция серверов в них значительно упала, а частота возникновения коллизий существенно возросла, еще более снижая номинальную пропускную способность. В 1992 году группа производителей сетевого оборудования, включая таких лидеров технологии Ethernet как SynOptics, 3Com и ряд других, образовали некоммерческое объединение Fast Ethernet Alliance для разработки стандарта на новую технологию, которая обобщила бы достижения отдельных компаний в области Ethernet-преемственного высокоскоростного стандарта. Новая технология получила название Fast Ethernet.

Прогресс - штука безостановочная. 100 Мбит/с - немалая скорость передачи данных, но для магистральных каналов ее может не хватить. В 1996 г. начались работы по стандартизации сетей Ethernet со скоростью передачи данных 1000 Мбит/с, которые называют Gigabit Ethernet. Был образован Gigabit Ethernet Alliance, в который вошли 11 компаний: 3Com, Bay Networks, Cisco, Compaq, Granite Systems, Intel, LSI Logic, Packet Engines, Sun, UB Networks и VLSI Technology. К началу 1998 года в Альянс входило уже более 100 компаний. В июне 1998 г. принимается стандарт IEEE 802.3z, использующий одномодовые и многомодовые оптоволоконные кабели, а также STP категории 5 на короткие расстояния (до 25 м). Столь малое допустимое расстояние в случае применения UTP обуславливало сомнительную возможность практического применения такого варианта. Положение изменилось с принятием в июне 1999 г. стандарта IEEE 802.3ab для передачи 1000 Мбит/с по неэкранированной витой паре на расстояния до 100 м.

1. АНАЛИЗ ТЕХНОЛОГИЙ ПОСТРОЕНИЯ СОВРЕМЕННЫХ ЛОКАЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ (ЛВС)

Ethernet использует "случайный" метод доступа к сети (CSMA/CD - carrier-sense multiple access/collision detection) - множественный доступ с обнаружением несущей. В нем отсутствует последовательность, в соответствии с которой станции могут получать доступ к среде для осуществления передачи. В этом смысле доступ к среде осуществляется случайным образом. Преимущество метода: алгоритмы случайного доступа реализуются значительно проще по сравнению с алгоритмами детерминированного доступа. Следовательно, аппаратные средства могут быть дешевле. Поэтому Ethernet более распространен по сравнению с другими технологиями для локальных сетей.

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

В классическом Ethernet все станции в сети образовывали домен коллизий (collision domain). При этом одновременная передача любой пары станций приводила к возникновению коллизии.

Основной способ борьбы с перегрузкой сегментов во времена преобладания сетей стандарта 10Base2. Весь сегмент разбивался на части. При этом вопрос передачи информации между сегментами при необходимости решался с помощью маршрутизации. Аппаратные средства особой популярностью не пользовались. Обычно сервер с несколькими сетевыми адаптерами устанавливался приблизительно в центре сети и на нем настраивался программный маршрутизатор.

Fast Ethernet - спецификация IEЕЕ 802.3 u официально принятая 26 октября 1995 года определяет стандарт протокола канального уровня для сетей работающих при использовании как медного, так и волоконно-оптического кабеля со скоростью 100Мб/с.

Новая спецификация является наследницей стандарта Ethernet IEЕЕ 802.3, используя такой же формат кадра, механизм доступа к среде CSMA/CD и топологию звезда. Эволюция коснулась нескольких элементов конфигурации средств физического уровня, что позволило увеличить пропускную способность, включая типы применяемого кабеля, длину сегментов и количество концентраторов.

Основными достоинствами технологии Fast Ethernet являются:

· увеличение пропускной способности сегментов сети до 100 Мб/c;

· сохранение метода случайного доступа Ethernet;

· сохранение звездообразной топологии сетей и поддержка традиционных сред передачи данных - витой пары и оптоволоконного кабеля.

Указанные свойства позволяют осуществлять постепенный переход от сетей 10Base-T - наиболее популярного на сегодняшний день варианта Ethernet - к скоростным сетям, сохраняющим значительную преемственность с хорошо знакомой технологией: Fast Ethernet не требует коренного переобучения персонала и замены оборудования во всех узлах сети.

Официальный стандарт 100Base-T (802.3u) установил три различных спецификации для физического уровня (в терминах семиуровневой модели OSI) для поддержки следующих типов кабельных систем:

· 100Base-TX для двухпарного кабеля на неэкранированной витой паре UTP категории 5, или экранированной витой паре STP Type 1;

· 100Base-T4 для четырехпарного кабеля на неэкранированной витой паре UTP категории 3, 4 или 5;

· 100Base-FX для многомодового оптоволоконного кабеля.

Гигабитный Ethernet также известен как "гигабит по меди" или 1000BaseT. Он представляет собой обычную версию Ethernet, работающую на скоростях до 1.000 мегабит в секунду, то есть в десять раз быстрее 100BaseT. Основой гигабитного Ethernet является стандарт IEEE 802.3z, который был утвержден в 1998 году. Однако в июне 1999 года к нему вышло дополнение - стандарт гигабитного Ethernet по медной витой паре 1000BaseT. Именно этот стандарт смог вывести гигабитный Ethernet из серверных комнат и магистральных каналов, обеспечив его применение в тех же условиях, что и 10/100 Ethernet.

До появления 1000BaseT для гигабитного Ethernet необходимо было использовать волоконно-оптический или экранированный медный кабели, которые вряд ли можно назвать удобными для прокладки обычных локальных сетей. Данные кабели (1000BaseSX, 1000BaseLX и 1000BaseCX) и сегодня используются в специальных областях применения, поэтому мы не будем их рассматривать. Группа гигабитного Ethernet 802.3z прекрасно справилась со своей работой - она выпустила универсальный стандарт, в десять раз превышающий скорость 100BaseT. 1000BaseT также является обратно совместимым с 10/100 оборудованием, он использует CAT-5 кабель (или более высокую категорию). Кстати, сегодня типичная сеть построена именно на базе кабеля пятой категории.

Таблица 1

Сравнительный анализ технологий

№ п/п

1

2

3

Наименование технологии

Ethernet

Fast Ethernet

Gigabit Ethernet

Стандарт

IEEE 802.3

IEEE 802.3u

IEEE 802.3z

Используемый сетевой адаптер

Ether Power 10/100

3CSOHO100-TX

SMC9452TX

Используемый тип кабеля

10Base - 5 коаксиальный

100 Base TX Витая пара категории 5 UTP

1000 BASE-SX многомодовое оптоволокно

Метод доступа к каналу

CSMA/CD

CSMA/CD

CSMA/CD

Номинальная пропускная способность(Мб/c)

10

100

1000

Длина кадра/поля данных (байт)

46-1500

46-1500

46-1500

Длина сегмента ЛВС (максимальное удаление от коммутационного устройства)

500м

100м

550м

Тип используемых коммутационных устройств, дополнительное оборудование

Повторитель, Т-коннекторы терминаторы

Коммутационные шнуры, панели, концентраторы

Коммутаторы, модули, панели

Вывод: Разработанный в 1973 стандарт Ethernet сегодня является наиболее популярным среди стандартов ЛВС. Как технология с разделяемой средой Ethernet обеспечивает скорость передачи 10 мегабит в секунду (Mbps) для всех пользователей, имеющих доступ к среде передачи и протокол разрешения доступа. По мере расширения сети доступная пользователю полоса сужается за счет того, что канал 10 Mbps делится между всеми узлами сети. Повышение производительности компьютеров и использование приложений с интенсивным сетевым трафиком требует расширения полосы для полной реализации возможностей программ и оборудования. Расширение сетей и повышение производительности компьютеров требуют расширения доступной пользователям полосы, обеспечиваемой сетевой средой передачи.

Существует два способа расширения полосы, доступной каждому пользователю. Технология Fast Ethernet базируется на расширении полосы разделяемой среды до 100 Mbps, обеспечивая рост скорости в 10 раз. Другим способ является снижение числа узлов сети, называемый сегментацией и осуществляется за счет деления большой сети на несколько меньших. Новый тип устройств, называемых коммутаторами Ethernet, обеспечивает требуемые возможности.

Fast Ethernet.В сетях 100Base-TX уровень сигнала не так важен по сравнению со временем распространения сигналов. Механизм CSMA/CD в сети Fast Ethernet работает так же, как в сети Ethernet 10 Мбит/с, и пакеты имеют аналогичный размер, но их скорость распространения через среду передачи в десять раз выше. Из-за того, что механизм детектирования коллизий остался тем же, системы все еще должны выявлять возникновение коллизии прежде, чем истечет время состязания (то есть прежде, чем будут переданы 512 байт данных). Таким образом, поскольку трафик распространяется быстрее, временной зазор уменьшается, и максимальная длина сети также должна быть сокращена, чтобы выявление коллизий происходило безошибочно. По этой причине предельная общая длина сети 100Base-TX примерно составляет 210 м. Это значение необходимо соблюдать намного более жестко, чем максимум в 500 м для сети 10Base-T.

Однако дальнейшее развитие сетей Ethernet не закончилось, и следующим его этапом стало появление стандарта, получившего название Gigabit Ethernet. Основное достижение - это увеличение скорости передачи данных до 1 Гбит/с.

Для этого была разработана технология IEEE 802.3ab (1000BASE-T), использующая витую пару категорий 5e. В передаче данных участвуют все 4 пары. Скорость передачи данных - 250 Мбит/с по одной паре. Несмотря на то, что большинство существующих сетей используют Fast Ethernet, этот стандарт постепенно вытесняет более современный Gigabit Ethernet.

2. РАЗРАБОТКА МОДЕЛИ И МОДЕЛИРОВАНИЕ ФУНКЦИОНИРОВАНИЯ ЛОКАЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ (ЛВС)

Для разработки модели используются основные положения теории массового обслуживании. ЛВС представляется в виде системы массового обслуживания (СМО) (рис. 1):

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 1. Представление ЛВС в виде СМО

От источников заявок (ПК) заявки поступают в сеть в случайные моменты времени с интенсивностями лn. Поступившие заявки обрабатываются в обслуживающем приборе с интенсивностью µ. Обслуживающий прибор - канал передачи данных ЛВС. Функция распределения интервалов времени между поступлениями заявок и функция распределения времени обработки заявки в обслуживающем приборе соответствуют показательному закону распределения:

- функция распределения интервалов времени между поступлениями заявок.

- функция распределения времени обработки заявки в обслуживающем приборе,

где л - интенсивность поступления заявок - расчет по формуле 1.

, (1)

где Vопф - объем передаваемого файла,

Lдк - длина кадра,

Тпф - требуемое время передачи файла;

- интенсивность обработки заявок в канале ЛВС:

, (2)

где Uнс - номинальная скорость передачи данных в канале; b - скорость передачи одного бита данных в канале;

- эффективная скорость в канале ЛВС:

, (3)

где Lдпд - длина поля данных пакета; - реальная скорость передачи данных в моделируемом канале ЛВС:

, (4)

где Lдпдi - длина поля данных кадра, переданного в канале модели ЛВС;

Тм - время моделирования работы сети, заданное в модели;

m - число переданных кадров в канале - определяется в результате моделирования работы сети в среде AnyLogic;

- коэффициент использования канала передачи данных ЛВС:

, (5)

Данные формулы нужны для того чтобы произвести расчеты, которые будут внесены в Таблицу 2, где:

л - интенсивность поступления заявок - расчет по формуле (1);

µ - интенсивность обработки заявок в приборе - расчет по формуле (2);

Сэ - эффективная скорость передачи данных в канале ЛВС - расчет по формуле (3).

Таблица 2

Расчет основных параметров модели

U - номинальная скорость (Мбит/с)

L - длина поля данных кадра (байт)

Сэ - эффективная скорость

b

л

µ

Cр- реальная скорость в канале

К исп - коэффициент использ. канала

10

46

1,242

0,1

123,67

0,027

0,6364

0,7113

100

3,457

0,1

104,58

0,013

0,8134

0,8454

100

46

12,423

0,01

123,67

0,268

0,6471

0,8976

100

25,673

0,01

104,58

0,198

0,7818

0,9014

Для нахождения Ср (реальная скорость передачи данных в моделируемом канале ЛВС) и Кисп (коэффициент использования канала передачи данных ЛВС) построим модель в программной среде имитационного моделирования Any Logic.

2.1 Построение модели в программной среде имитационного моделирования Any Logic

Рис. 2. Соединение элементов модели

а) график количества принятых и переданных файлов

б) график коэффициента

а) б)

Рис. 3 Технологии Ethernet с длиной кадра 46 байт

а) б)

Рис. 4. Технология Fast Ethernet с длиной кадра 46 байт

а) б)

Рис. 5. Технология Ethernet с длиной кадра 100 байт

а) б)

Рис. 5. Технология Fast Ethernet с длиной кадра 100 байт.

2.2 Технико-экономическое обоснование выполнения работы

Таблица 3

Расчет стоимости развертывания ЛВС

Вид технологии ЛВС

Кабель

Разъёмы

Коммутационное оборудование или Хаб (для технологии Ethernet)

Сетевая карта

Общая стоимость руб.

Тип

Длина, м

Цена, руб.

Тип

Количество

Стоимость, руб.

Тип

Количество

Стоимость, руб.

тип

Количество

Стоимость, руб.

Ethernet

UTP 3

24

270

RJ-45

12

72

EFAH05W

1

1422

Trendnet TEG-PCITXR

6

3474

5238

Fast Ethernet

витая пара 5 UTP

24

144

RJ-45

12

72

Trendnet N-Way Switch TE100-S55E 5-port

1

784

DGE-530T

6

3576

4576

Gigabit Ethernet

оптоволоконный 50 мкм

24

12

576

RJ-45

12

72

Trendnet-SG1005D5-port

1

12

42

Trendnet Ectx

6

12636

26526

В результате моделирования развертывать ЛВС (локально вычислительную сеть) рекомендуется по технологии Fast Ethernet, так как здесь достаточно высокий коэффициент использования канала,а также приемлемая стоимость аппаратных средств. Сеть Fast Ethernet получается более экономически выгодной, чем, к примеру, сеть Ethernet. Поэтому такая сеть будет удовлетворять как техническим, так и экономическим требованиям задания. Таким образом, данная технология Fast Ethernet может использоваться для передачи данных.

имитационный аппаратный компьютерный сетевой

3. РАЗРАБОТКА КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ

3.1 Разработка алгоритмов

3.1.1 Разработка и описание алгоритма клиентской части - схема связи классов

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 6. Схема взаимосвязи классов

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

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 7 Алгоритм функционирования приложения клиента

Описание алгоритма

Начало алгоритма

Шаг 1. Производится выполнение действия Ввод host port file.

Шаг 2. Происходит проверка логического условия «Все данные введены?» Если условие выполняется,то шаг три,если нет,то шаг восемь.

Шаг 3. Производится выполнение действия «Получить номер порта соединения».

Шаг 4. Производится выполнение действия «Получить имя файла, копируемого с сервера».

Шаге 5. Производится выполнение действия «Создание объекта Сокета sock».

Шаг 6. Производится выполнение действия «Создание объекта управления символьным выводом в сокет Pw».

Шаг 7. Производится выполнение действия «Создание объекта управления символьным вводом из сокета br».

Шаг 8. Он ответвляется от этапа 2, осуществляется вывод «Нет исходных данных».

Конец алгоритма

Шаг 9. Производится выполнение действия «Считать ответ от сервера из сокета»

Шаг 10. Производится выполнение действия «Считать ответ от сервера из сокета».

Шаг 11. Производится выполнение действия «Определить число токенов в сообщении st.countTokens ()».

Шаг 12. Происходит проверка логического условия «countTokens()>=2».

Левая ветвь конец алгоритма.

Шаг 13. Происходит проверка логического условия «st.nextTokens()!= “200”».

Шаг 14. Осуществляется вывод результатов « File not found».

Шаг 15. Происходит проверка логического условия « br.readLine()!= null».

Правая ветвь конец алгоритма.

Шаг 16. Осуществляется вывод результатов «Значение файла».

3.1.2 Разработка и описание алгоритма серверной части

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 8. Алгоритм функционирования серверного приложения

Описание алгоритма

Начало алгоритма

Шаг 1. Производится выполнение действия «Создание объекта типа сервера установить номер порта 8083»

Шаг 2. Происходит проверка логического условия «Поступил запрос от клиента?».

Шаг 3. Производится выполнение действия «Активизация соединение с клиентом по сокету, установить ему приоритет».

Шаг 4. производится выполнение действия «Создание объекта управления символьным выводом в сокет pw»

Шаг 5. Производится выполнение действия «Создание объекта управления символьным вводом из сокета br»

Шаг 6. Производится выполнение действия «Считать запрос от клиента из сокета»

Шаг 7. Производится выполнение действия «Определить число токенов в сообщении st.count Tokens()»

Шаг 8.(левая ветвь этапа 2). Производится выполнение действия «проверить сокет и ждать вызова от клиента»

Шаг9. Происходит проверка логического условия «st.countTokens ()>=2»

Шаг10. Происходит проверка логического условия «st.nextToken ().equals ("POST")»

Шаг11. Происходит проверка логического условия «st.nextToken().endsWith("/")»

Шаг12. Происходит проверка логического условия «req.equals("")»

Шаг13. Производится выполнение действия «Передать index.html»

Шаг14. Производится выполнение действия «Передать запрашиваемый файл»

Шаг15. Осуществляется вывод результатов «Значение файла»

Конец алгоритма

4. РАЗРАБОТКА ПРОГРАММ

4.1 Разработка серверной части программы

Посылка дейтаграмм по протоколу UDP

package server_program; // объявление пакета, к которому привязываются разрабатываемые классы

import java.net.*; //подключения методов класса java.net и его дочерних классов

import java.io.*; // потоки и файлы произвольного доступа. Аналог библиотеки стандартного ввода-вывода

import java.util.*; // классы-контейнеры (Dictionary, HashTable, Stack) и некоторые другие утилиты. Кодирование и декодирование. Классы Date и Time.

public class Main { // Программная структура, содержит в себе основные элементы такие как методы и поля

public static void main(String[] args) // главный метод, начальные значения, передаются аргументы, описывает функцию

{

try // содержит один или более операторов, выдает исключения

{

ServerSocket ss = new ServerSocket(Integer.parseInt(args[0])); // объект класса предназначен для установки канала связи с клиентским приложением

while (true) //логическое выражение, оператор цикла

new HttpConnect(ss.accept()); // установка канала связи с клиентским приложением

}

сatch(ArrayIndexOutOfBoundsException ae) // Перехват исключений в Java оформляется блоком "try-catch», сначало делается попытка выполнить фрагмент кода, и если генерируется исключение, то оно обрабатывается фрагментом catch

{

System.err.println("Usage: Server port"); // метод вывода системных сообщений

System.exit(0); // "нормальное" завершение процесса

}

catch(IOException e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try

{

System.out.println(e); // стандартный поток вывода

}

}

}

class HttpConnect extends Thread // представляет собой отдельный поток управления в пределах процесса

{

private Socket sock; // чтобы сгладить различия в реализациях разных серверов, между сервером и портом

HttpConnect(Socket s) // устанавливает соединение между локальной машиной и указанным портом узла Internet, имя которого было передано конструктору

{

sock = s; // присвоение значения s переменной sock

setPriority(NORM_PRIORITY - 1); // приоритет устанавливается на два уровня выше Thread

run(); // метод в котором задается последовательность действий, выполняемых в рамках потока

}

public void run() // может объявлять переменные, вызывать другие методы и использовать другие классы.

{

try // содержит один или более операторов, оператор вызывающий исключения

{

PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()), true); // для форматного вывода данных различных типов с целью их визуального представления в виде текстовой строки

BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream() ) ); // классы которые организуют входные потоки, буферизированный ввод данных

String req = br.readLine(); // класс создающий объект готовый разбить строки на слова

System.out.println("Request: " + req); // стандартный поток вывода

StringTokenizer st = new StringTokenizer(req); // класс предназначен для выделения отдельных элементов из строк типа String

if ((st.countTokens() >= 2) && st.nextToken().equals("POST"))// оператор условия, операция возвращает в виде строки следующее слово

{

if ((req = st.nextToken()).ends With("/")|| req.equals(""))// оператор условия, операция возвращает в виде строки следующее слово

req += "index.html"; // Этот оператор используется для выполнения определённых операторов, если логическое условие true

try // содержит один или более операторов

{

File f = new File(req); // создание нового объекта с аргументом req

BufferedReader bfr = new BufferedReader(new FileReader(f)); // классы которые организуют входные потоки, буферизированный ввод данных

char[] data = new char[(int)f.length()]; // 16-ти разрядная переменная в виде символов, символы кодируются с помощью юникода

bfr.read(data); // буферизированный ввод данных

pw.println("HTTP/1.1 200 OK\n"); // выполнен принудительный переход на следующую строку

pw.write(data); // программа выполняет серию операций по выводу в поток данных различного типа

pw.flush();// программа выполняет серию операций по выводу в поток данных различного типа

}

catch(FileNotFoundException fe) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try

{

pw.println("HTTP/1.1 404 Not FoundXn");

}

catch(IOException ioe) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try

{

System.out.println(ioe); // стандартный поток вывода

}

}

else pw.println("HTTP/l.l 400 Bad RequestW"); // необязательный блок else для выполнения других операторов, если условие false

sock.close(); // Основной метод этого класса accept () ожидает поступления запроса. Когда запрос получен, метод устанавливает соединение с клиентом и возвращает объект класса socket, через который сервер будет обмениваться информацией с клиентом.

}

catch(IOException e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try

{

System.out.println(e); // стандартный поток вывода

}

} }

4.2 Разработка клиентской части программы

Прием дейтаграмм по протоколу UDP

package javaapplication33; // объявление пакета, к которому привязываются разрабатываемые классы

import java.net.*; //подключения методов класса java.net и его дочерних классов

import java.io.*; // потоки и файлы произвольного доступа. Аналог библиотеки стандартного ввода-вывода

import java.util.*; // классы-контейнеры (Dictionary, HashTable, Stack) и некоторые другие утилиты. Кодирование и декодирование. Классы Date и Time.

import java.lang.Integer.*; // каждый модуль компиляции содержит неявное импортирование этого пакета

public class Main { // Программная структура, содержит в себе основные элементы такие как методы и поля

public static void main(String[] args) // главный метод, начальные значения, передаются аргументы, описывает функцию

{

String[] hostportfile={"127.0.0.1", "8080", "c:/Minori "}; // класс создающий объект готовый разбить строки на слова

if (hostportfile.length != 3) // оператор условия, операция возвращает в виде строки следующее слово

{

System.err.println("Usage: Client host port file"); // метод вывода системных сообщений

System.exit(0); // "нормальное" завершение процесса

}

String host = hostportfile[0]; // класс создающий объект готовый разбить строки на слова

int port = Integer.parseInt(hostportfile[1]); // четырехбайтные целые числа

String file = hostportfile[2]; // класс создающий объект готовый разбить строки на слова

Try // содержит один или более операторов, оператор вызывающий исключения

{

Socket sock = new Socket(host, port); // Основной метод этого класса ожидает поступления запроса.

PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()), true); // для форматного вывода данных различных типов с целью их визуального представления в виде текстовой строки

pw.println("POST " + file + " HTTP/1.l\n"); // выполнен принудительный переход на следующую строку

BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream()));// классы которые организуют входные потоки, буферизированный ввод данных

String line = null; // класс создающий объект готовый разбить строки на слова

line = br.readLine(); // присвоение значения переменной

StringTokenizer st = new StringTokenizer(line); // класс предназначен для выделения отдельных элементов из строк типа String

String code = null; // класс создающий объект готовый разбить строки на слова

if ((st.countTokens() >= 2) && st.nextToken().equals("POST")) // оператор условия, операция возвращает в виде строки следующее слово

{

if ((code = st.nextToken()) != "200") // оператор условия, операция возвращает в виде строки следующее слово

{

System.err.println("File not found, code = " + code); // метод вывода системных сообщений

System.exit (0); // "нормальное" завершение процесса

}

}

while ((line = br.readLine()) != null) //логическое выражение, оператор цикла

System.out.println(line); // стандартный поток вывода

sock.close();// Основной метод этого класса accept () ожидает поступления запроса. Когда запрос получен, метод устанавливает соединение с клиентом и возвращает объект класса socket, через который сервер будет обмениваться информацией с клиентом.

}catch(Exception e) // содержит операторы, которые специфицируют действия при вызове исключения в блоке try

{

System.err.println(e); // метод вывода системных сообщений

}}}

4.3 Тесты. Результаты тестирования

Клиентская часть программы

Серверная часть программы

ЗАКЛЮЧЕНИЕ

В данном курсовом проекте я изучила основные принципы построения компьютерных сетей, разработки сетевых распределенных приложений на основе клиент - серверной технологии. Рассчитывала первичные параметры сети, на основе которых осуществила разработку имитационной модели функционирования локальной вычислительной сети. Построила модель в программной среде имитационного моделирования AnyLogic. Изучила и определила стоимость аппаратных средств, что позволило оптимально подобрать технологию построения компьютерной сети, удовлетворяющей технико-экономическим требованиям пользователей. А также, разработала алгоритмы и программы клиент-серверного приложения, после произвела и вывела результаты тестирования.

СПИСОК ЛИТЕРАТУРЫ

1. Олифер В.Г. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 2-е издание / В.Г. Олифер, Н.А. Олифер. - СПб.: Питер, 2008. - 864 с.

2. Олифер В.Г. Сетевые операционные системы / В.Г. Олифер, Н.А. Олифер. - СПб.: Питер, 2008.- 539 с.

3. Единая система программной документации. Официальное издание. - М.: Издательство стандартов, 1982. - 127 с.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.