Разработка клиент серверного приложения - Программирование, компьютеры и кибернетика курсовая работа

Разработка клиент серверного приложения - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Разработка клиент серверного приложения

Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

1.1 Понятие «Сетевое программное обеспечение»
1.2 Категории сетевого программного обеспечения
1.2.2 ПО выполняющее правила (или протокол) общения в сети
1.2.3 ПО сетевой операционной системы
Сфера информационных технологий является на сегодняшний день наиболее динамически развивающейся областью науки и техники, что приводит к расширению поля их применения в человеческой деятельности. Значительную часть современных информационных технологий составляют сетевые технологии и их более глобальное проявление -- Internet-технологии.
Цель работы: является разработка клиент серверного приложения в среде программирования Borland Builder C++ с использование сокетов.
Задача, которая будет решаться в программной среде Borland Builder C++.
Для выполнения работы использовались следующие программы:
1. Среде программирования Borland Builder C++.
1.1 Понятие «Сетевое программное обеспечение»
Компьютерные сети, называемые также вычислительными сетями, или сетями передачи данных, можно определить следующим образом. С одной стороны, как частный случай распределенных вычислительных систем, в которых группа компьютеров согласованно выполняет набор взаимосвязанных задач, обмениваясь данными в автоматическом режиме, а с другой -- как средство передачи информации на большие расстояния с использованием методов кодирования и мультиплексирования.
Таким образом, компьютерная сеть -- это совокупность компьютеров, соединенных линиями связи. Линии связи образованы кабелями, сетевыми адаптерами и другими коммуникационными устройствами, называемыми сетевым оборудованием. Все сетевое оборудование работает под управлением системного и прикладного программного обеспечения.
Взаимодействие между компьютерами сети происходит путем передачи сообщений через сетевые адаптеры и каналы связи. С помощью этих сообщений один компьютер обычно запрашивает доступ к локальным ресурсам другого компьютера. Таким ресурсом может являться, например, вычислительная мощность компьютера в целом.
В качестве совместно используемых ресурсов часто выступают данные, хранящиеся на диске, а также разнообразные периферийные устройства: принтеры, модемы, факс-аппараты и т.д.
Разделение локальных ресурсов каждого компьютера между всеми пользователями сети -- основная цель создания компьютерной сети. На тех компьютерах, ресурсы которых должны быть доступны всем пользователям сети, необходимо добавить модули, которые постоянно будут находиться в режиме ожидания запросов, поступающих по сети от других компьютеров. Обычно такие модули называются программными серверами (server), так как их главная задача -- обслуживать (serve) запросы на доступ к ресурсам своего компьютера. На компьютерах, пользователи которых хотят получать доступ к удаленным ресурсам и передавать их по сети на нужный компьютер, также необходимо установить дополнительные модули. Такие модули обычно называют программными клиентами (client). Сетевые адаптеры и каналы связи решают в сети задачу передачи сообщения с запросами и ответами от одного компьютера к другому, основную же работу по организации совместного использования ресурсов выполняют клиентские и серверные части операционных систем.
Пара модулей «клиент-сервер» обеспечивает совместный доступ пользователей к определенному типу ресурсов. Термины «клиент» и «сервер» используются для обозначения не только программных модулей, но и компьютеров, подключенных к сети. Если компьютер предоставляет свои ресурсы другим компьютерам сети, то он называется сервером, а если он их потребляет -- клиентом. Иногда один и тот же компьютер может выполнять роль как сервера, так и клиента.
В самом простом случае связь компьютеров может быть реализована с помощью тех же самых средств, которые используются для связи компьютера с периферийными устройствами. Для этого в компьютере предусмотрены интерфейсы, или порты, т.е. наборы проводов, соединяющих компьютер с устройствами, а также наборы правил обмена информацией по этим проводам. Для того чтобы компьютер мог работать в сети, его операционная система (ОС) должна быть дополнена клиентским и (или) серверным модулем, а также средствами передачи данных между компьютерами. В результате такого добавления ОС компьютера становится сетевой. Схема взаимодействия программных компонентов при связи двух компьютеров представлена на рис.1.
Развитие теории компьютерных сетей является логическим результатом эволюции двух важнейших научно-технических отраслей современной цивилизации -- компьютерных и телекоммуникационных технологий.[1, с. 4-5]
1.2 Категории сетевого программного обеспечения
Первый компонент может состоять из одной или нескольких небольших программ. Он отвечает за наведение мостов между сетевой платой и стеком протокола.
1.2.2 ПО выполняющее правила (или протокол) общения в сети
ЛВС (локальные вычислительные сети) бывают двух основных типов: равноправные (или одноранговые) и с выделенным сервером. В равноправной локальной сети все узлы равноправны: любая РСТ(равноправная сеть) может выступать по отношению к другой как клиент или как сервер. В сети с выделенным сервером все клиенты общаются с центральным сервером.
Одноранговые сети обычно легко устанавливать, и для их ОС не требуется выделять особый компьютер. С другой стороны, эти сети обладают меньшими функциональными возможностями по сравнению с сетями на основе выделенного сервера. В частности, проблемы централизованной защиты ресурсов и данных в таких сетях часто не разрешимы, так как каждый пользователь сам контролирует доступ к своей системе. По мере роста размеров таких сетей они быстро становятся неуправляемыми.
Равноправные СОС( сетевые операционные системы) хороши для мелких сетей и идеальны в случае необходимости объединения лишь нескольких машин в целях коллективного применения специальных файлов и принтеров, когда не требуется централизованного администрирования. Но иногда доступ к некоторым ресурсам должен быть представлен лишь определенным пользователям и администратору требуется управлять такими ресурсами. Например, к определенному ресурсу должен быть организован централизованный доступ, в частности для организации "общего котла" модемов или принтеров. В этих случаях лучше обратиться к сети с выделенным сервером. В таких сетях один или несколько компьютеров организуют централизованный доступ к своим ресурсам. Все запросы от РСТ проходят через серверы. Компьютер, используемый в качестве сервера, должен быть как можно более мощным и надежным. [3, с.132]
ПО сервера обеспечивает централизованное администрирование и защиту и управляет доступом к ресурсам при помощи реконфигурируемых бюджетов пользователей. Администратор сети контролирует эти бюджеты и определяет, что должен видеть и делать пользователь, зарегистрированный в сети. Локальные сети с выделенным сервером обычно сложнее в установке по сравнению с одноранговыми, но они мощнее, функционально многообразнее и поддерживают крупные сетевые системы.
Наиболее популярным сетевым ПО с выделенным сервером является ОС Novell NetWare, используемая, по некоторым оценкам, в 70% локальных сетей. К числу других широко известных СОС этого класса относятся Banyan Vines, IBM LAN Server для OC/2, DEC Pathworks для VAX и Windows NT, а также Microsoft Windows NT Server.
1.2.3 ПО сетевой операционной системы
Сетевые операционные системы помогают осуществлять основные работы, проводимые в сети:
· файловая поддержка (создание, поиск файлов);
· коммуникации (взаимообмен данными);
Сетевые операционные системы могут базироваться на операционных системах MS DOS, OS/2, Unix, Macintosh, Windows или на своих собственных операционных системах. Но вне зависимости от операционной системы, на которой базируется сетевая операционная система, они предоставляют средства обеспечения безопасности данных путем контроля прав доступа пользователей к рабочим программам, массивам данным и ресурсам сети.
Остальные компьютеры являются рабочими станциями, имеющими доступ к дискам файл-сервера и совместно используемым принтерам. С терминала каждой рабочей станции нельзя работать с дисками других рабочих станций. С одной стороны, это хорошо, так как пользователи изолированы друг от друга и не могут случайно повредить чужие данные, с другой стороны, для обмена данными пользователи вынуждены использовать диски файл-сервера, создавая для него дополнительную нагрузку.
Существуют, однако, специальные программы, работающие в сети с централизованным управлением и позволяющие передавать данные непосредственно от одной рабочей станции к другой, минуя файл-сервер, например NetLink. После ее запуска на двух рабочих станциях можно передавать файлы с диска одной станции на диск другой, аналогично тому, как копируются файлы из одного каталога в другой при помощи программы Norton Commander. На рабочих станциях должно быть установлено специальное программное обеспечение, часто называемое сетевой оболочкой. Это обеспечение работает в среде той ОС, которая используется на данной рабочей станции, -- DOS, Windows, OS/2 и т. д.
Файл-серверы могут быть выделенными или невыделенными
Существуют различные сетевые операционные ситемы, ориентированные на сети с централизованным управлением. Самые известные из них -- Windows NT, Novell NetWare, Microsoft Lan Manager (на базе OS/2), a также выполненная на базе UNIX System V сетевая OS VINES.
Одноранговые сети не содержат в своем составе выделенных серверов. Такой подход облегчает совместную работу групп пользователей, но в целом производительность сети может понизиться.
Одно из достоинств одноранговых сетей -- простота обслуживания.
Наиболее распространены такие одноранговые сети, как Artisoft LANtastic, LANsmart компании D-Link Systems, Invisible Software NET-30 и Web NOS компании Webcorp.
Сетевая операционная система необходима для управления потоками сообщений между рабочими станциями и серверами. Она может позволить любой рабочей станции работать с разделяемым сетевым диском или принтером, которые физически не подключены к этой станции.
Компоненты сетевой операционной системы на каждой рабочей станции и файловом сервере взаимодействуют друг с другом в рамках соглашений, называемых протоколом. Одним из общих протоколов является протокол фирмы IBM NetBIOS (Network Basic Input Output System --
Сетевая операционная система ввода-вывода). Другим распространенным протоколом является IPX {Internet-work Packet Exchange -- Межсетевой обмен пакетами) фирмы Novell.
ОС NetWare фирмы Novell. Novell была одной из первых компаний, которые начали создавать ЛВС. .
В среде NetWare способно работать большее количество приложений, чем в любой другой ЛВС. ОС NetWare способна поддерживать рабочие станции, управляемые DOS, DOS и Windows, OS/2, UNIX, Windows NT, Mac System 7 и другими ОС. ЛВС NetWare может работать с большим количеством различных типов сетевых адаптеров, чем любая другая операционная система. Для достижения поставленных целей вы можете выбрать аппаратные средства от множества разных поставщиков. С NetWare можно использовать Arcnet, Ethernet, Token Ring или практически любой другой тип сетевого адаптера.
Операционные системы UNIX  и LINUX имеют большую известность как сетевые операционные системы, чем Novell NetWare. Они реже используются как ОС локальных сетей. Основное их назначение -- обеспечение доступа к глобальным сетям и их сервисам.
Независимо от версии общими для UNIX чертами являются:
· многопользовательский режим со средствами защиты данных от несанкционированного доступа;
· реализация мультипрограммной обработки в режиме разделения времени, основанная на использовании алгоритмов вытесняющей многозадачности (preemptive multitasking);
· использование механизмов виртуальной памяти и свопинга для повышения уровня мультипрограммирования;
· унификация операций ввода-вывода на основе расширенного использования понятия «файл»;
· иерархическая файловая система, образующая единое дерево каталогов независимо от количества физических устройств, используемых для размещения файлов;
· переносимость системы за счет написания ее основной части на языке Си;
· разнообразные средства взаимодействия процессов, в том числе и через сеть;
кэширование диска для уменьшения среднего времени доступа к файлам.
ОС Linux имеет следующие достоинства:
· дает возможность бесплатно и легально иметь современную ОС для использования как на работе, так и дома;
· обладает высоким быстродействием;
· работает надежно, устойчиво, совершенно без зависаний;
· позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие MS Windows по использованию памяти машины и ресурсов процессора(ов);
· эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д.) не мешают интерактивной работе;
· позволяет легко интегрировать компьютер в локальные и глобальные сети, в том числе в Интернет; работает с сетями на базе Novell и MS Windows;
· позволяет выполнять представленные в формате загрузки прикладные программы других ОС -- различных версий UNIX и MS Windows;
· обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире UNIX и свободно распространяемых вместе с исходными текстами;
· предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, в том числе системы класса клиент--сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;
· дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС;
· дает всем желающим попробовать свои силы в разработке, организовать общение и совместную работу через Интернет с любыми из разработчиков ОС Linux и сделать свой вклад, став соавтором системы.
При разработке структуры Windows NT по аналогии с NetWare и UNIX была использована концепция микроядра. В соответствии с этой идеей ОС разделена на несколько подсистем, каждая из которых выполняет отдельный набор сервисных функций, например сервис памяти, сервис по созданию процессов или сервис по планированию процессов. Каждая подсистема выполняется в пользовательском режиме, осуществляя цикл проверки запроса от клиента на одну из его сервисных функций. Клиент, которым может быть либо другая компонента ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер. Ядро ОС (или микроядро), работая в привилегированном режиме, доставляет сообщение нужному серверу, затем сервер выполняет операцию, после этого ядро возвращает результаты клиенту с помощью другого сообщения.
В Windows NT реализована вытесняющая многозадачность, при которой операционная система не ждет, когда нить сама захочет освободить процессор, а принудительно снимает ее с выполнения -- после того как та израсходовала отведенное ей время (квант) или если в очереди готовых появилась нить с более высоким приоритетом. При такой организации разделения процессора ни одна нить не займет процессор на очень долгое время.
Windows 2000, является потомком NT, обладает всеми ее достоинствами, а многие из ее ограничений при этом снимает. Windows 2000 -- один из крупнейших программных продуктов, его код содержит около 30 млн. строк. В Windows 2000 появилась поддержка шины USB, РС-карт, шины AGP и DVD-устройств, а также технологии Plug and Play  , которой славится Windows 98, -- автоматического распознавания и установки устройств.
Заметно расширены в Windows 2000 возможности работы с файловыми системами. Помимо используемых в Windows 9x файловых систем FAT16 и FAT32 (незащищенных), эта ОС работает с NTFS5 (NT File System 5), специально разработанной для Windows 2000 усовершенствованной версией файловых систем с добавлением шифрования и других новых возможностей. Она обеспечивает более эффективное использование дискового пространства и лучшую защиту информации.
Windows 2000 и ее предшественница Windows NT 4.0 не могли соперничать с мощными версиями UNIX. С появлением Datacenter Microsoft надеется выровнять положение, задействовав Windows на более крупных и мощных машинах, чем когда-либо до этого. Благодаря дополнительным возможностям повышается уровень масштабируемости, готовности и управляемости Windows 2000. Специальные требования к сертификации и техническому обслуживанию еще более выделяют эту операционную систему среди остальных серверов семейства Windows 2000.[2]
В ходе выполнения курсовой работы было разработано и запрограммировано в среде программирования Borland Builder C++ клиент серверное приложение с использованием сокетов.
Серверное приложение выполняет создание сервера и подключение клиентов к нему и обмена с ним сообщениями.
Рисунок 3.Обмен сообщения с клиентом
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
DWORD WINAPI ClientPool(LPVOID param)
{ SOCKET client_socket = (SOCKET)param;
int bytes = recv(client_socket, &buff[0], sizeof(buff), 0);
while( (bytes_recv = recv(client_socket,&buff[0],sizeof(buff),0)) && bytes_recv !=SOCKET_ERROR)
for(it = clients.begin(); it!=clients.end(); ++it)
send((*it), buff, bytes_recv, 0);} */
{WSAStartup(MAKEWORD(2,2),&wsadata);
server_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
server_addr.sin_port = htons(6666);
server_addr.sin_addr.s_addr = INADDR_ANY;
bind(server_socket,(SOCKADDR*)&server_addr, sizeof(server_addr));
int len_client_addr = sizeof(client_addr);
SOCKET client = accept(server_socket, (struct sockaddr*)&client_addr, &len_client_addr);
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ClientPool,
fgets(&buff[0],sizeof(buff),stdin);
send(client, buff, strlen(buff)-1,0);
//---------------------------------------------------------------------------
Клиентское приложение выполняет подключение к серверу и обмен с ним сообщениями.
Рисунок 5.Обмен сообщениями с клиентом
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
DWORD WINAPI ServerPool(LPVOID param)
SOCKET server_socket = (SOCKET)param;
int bytes = recv(server_socket, &buff[0], sizeof(buff), 0);
WSAStartup(MAKEWORD(2,2),&wsadata);
client_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
dest_addr.sin_addr.s_addr = inet_addr( "127.0.0.1" );
if(connect(client_socket, (SOCKADDR*)&dest_addr, sizeof(dest_addr)))
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ServerPool,
(void*) client_socket, 0, &ThreadID);
fgets(&buff[0],sizeof(buff),stdin);
send(client_socket, buff, strlen(buff)-1,0);
//---------------------------------------------------------------------------
В ходе выполнения данной курсовой работы изучены сокеты и их применение в программировании для передачи сообщений по сети. Так же были изучены компоненты для реализации сокетов в программных кода среды программирования Borland Builder C++.
1. Программное обеспечение компьютерных сетей: Учебное пособие / О.В. Исаченко. - М.: ИНФРА-М, 2012. - 117 с
2. http://professia.org/seti/251/2_5_1.%20HTML.html
3. Информатика в экономике: учебное пособие / под ред. Б.Е. Одинцова, А.Н. Романова. М.: Вузовский учебник, 2008. - 478 с
4. Компьютерная обучающая программа по дисциплине «Информатика» / А.Н. Романов, В.С. Торопцов, Д.Б. Григорович, Л.А. Галкина, А.Ю. Артемьев, Н.И. Лобова, К.Е. Михайлов, Г.А. Жуков, О.Е. Кричевская, С.В. Ясеновский, Л.А. Вдовенко, Б.Е. Одинцов, Г.А. Титоренко, Г.Д. Савичев, В.И. Гусев, С.Е. Смирнов, В.И. Суворова, Г.В. Федорова, Г.Б. Коняшина. М.: ВЗФЭИ, 2000. Дата обновления 24.11.2010. URL: http://repository.vzfei.ru
5. Информатика: методические указания по выполнению курсовой работы для студентов второго курса всех специальностей. М.: ВЗФЭИ, 2008. URL: http://repository.vzfei.ru.
Создание клиент-серверного приложения "Чат" с помощью среды визуальной разработки приложений Borland C++ Builder версии 6. Описание функциональности приложения: наличие клиент-серверной архитектуры, обмен короткими сообщениями, а также передача файлов. курсовая работа [302,0 K], добавлен 30.01.2012
Разработка системы, базирующейся на протоколе LIMone, для обмена мгновенными сообщениями и пересылки файлов в процессе деловой переписки. Реализация системы в виде клиент-серверного приложения. Расчет экономических показателей программного продукта. дипломная работа [4,7 M], добавлен 22.08.2016
Изучение истории достижений корпорации Oracle. Разработка клиент-серверного приложения на языке Delphi XE, реализующего возможность управления персоналом на предприятии. Основные структуры данных. Создание инструкции работы с приложением "Отдел кадров". дипломная работа [974,7 K], добавлен 08.06.2013
Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование. курсовая работа [352,0 K], добавлен 24.08.2016
Многоуровневые архитектуры клиент–сервер. Диаграммы классов, реализующих уровни презентации, бизнес–логики и базы данных приложения. Словесное описание процесса выполнения транзакций. Создание, изменение и удаление хранимых процедур, их выполнение. курсовая работа [3,4 M], добавлен 23.03.2013
Разработка компьютерной сети. Спецификация и расчет себестоимости спроектированной сети. Выбор инструментальных средств для реализации разрабатываемого клиент-серверного приложения. Описание логической структуры программного продукта, основные алгоритмы. курсовая работа [942,1 K], добавлен 19.03.2012
Основные концепции разработки приложения в архитектуре MVVM. Проектирование базы данных, предназначенной для сбора информации о дорожно-транспортных происшествиях. Классификация и типы архитектуры "клиент–сервер", ее основные достоинства и недостатки. курсовая работа [4,1 M], добавлен 25.11.2015
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Разработка клиент серверного приложения курсовая работа. Программирование, компьютеры и кибернетика.
Эссе На Тему Покупок
Дипломная работа: Детская журналистика. Скачать бесплатно и без регистрации
Реферат по теме Учет хлоридной коррозии при прогнозировании срока службы железобетонных пролетных строений
Реферат по теме Экономические механизмы менеджмента
Курсовая работа: Теория и методика образования права. Скачать бесплатно и без регистрации
Курсовая работа по теме Типы сварочных соединений
Сочинение На Тему Что Значит Быть Патриотом
Курсовая работа по теме Небанковские финансовые посредники
Реферат по теме Национализм в современном мире и в России
Дипломная работа: Установление происхождения детей
Реферат: Денежное довольствие военнослужащих, проходящих службу по контракту на должностях прапорщиков, р
Реферат: Расчет радиопередатчика с ЧМ модуляцией
Лексика Для Эссе По Английскому
Контрольная Работа По Геометрии 9 Класс Координаты
Дипломная работа по теме Совершенствование учета затрат на производство
Реферат по теме Огата Гэкко
Сочинение На Тему Любви В Творчестве Бунина
Правовая характеристика договора финансовой аренды (лизинга)
Практическое задание по теме Измерение количественных и качественных характеристик звезд
Планирование Инвестиций На Предприятии Курсовая
Сущность дел особого судопроизводства - Государство и право контрольная работа
Принятие управленческого решения по улучшению организации труда ОАО "ИПК "Приамурье" - Менеджмент и трудовые отношения курсовая работа
Основы маркетинга - Маркетинг, реклама и торговля реферат


Report Page