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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    128,32 Кб
  • Опубликовано:
    2015-02-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Содержание

Введение

.     Теоретическая часть

.1 Понятие «Сетевое программное обеспечение»

.2 Категории сетевого программного обеспечения

.2.1 ПО управления сетевой платой

.2.2 ПО выполняющее правила (или протокол) общения в сети

.2.3 ПО сетевой операционной системы

. Практическая часть

Заключение

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

Введение

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

Цель работы: является разработка клиент серверного приложения в среде программирования Borland Builder C++ с использование сокетов.

Практическая часть:

Задача, которая будет решаться в программной среде Borland Builder C++.

Для выполнения работы использовались следующие программы:

. Среде программирования Borland Builder C++.

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

.1 Понятие «Сетевое программное обеспечение»

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

Таким образом, компьютерная сеть - это совокупность компьютеров, соединенных линиями связи. Линии связи образованы кабелями, сетевыми адаптерами и другими коммуникационными устройствами, называемыми сетевым оборудованием. Все сетевое оборудование работает под управлением системного и прикладного программного обеспечения.

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

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

Разделение локальных ресурсов каждого компьютера между всеми пользователями сети - основная цель создания компьютерной сети. На тех компьютерах, ресурсы которых должны быть доступны всем пользователям сети, необходимо добавить модули, которые постоянно будут находиться в режиме ожидания запросов, поступающих по сети от других компьютеров. Обычно такие модули называются программными серверами (server), так как их главная задача - обслуживать (serve) запросы на доступ к ресурсам своего компьютера. На компьютерах, пользователи которых хотят получать доступ к удаленным ресурсам и передавать их по сети на нужный компьютер, также необходимо установить дополнительные модули. Такие модули обычно называют программными клиентами (client). Сетевые адаптеры и каналы связи решают в сети задачу передачи сообщения с запросами и ответами от одного компьютера к другому, основную же работу по организации совместного использования ресурсов выполняют клиентские и серверные части операционных систем.

Пара модулей «клиент-сервер» обеспечивает совместный доступ пользователей к определенному типу ресурсов. Термины «клиент» и «сервер» используются для обозначения не только программных модулей, но и компьютеров, подключенных к сети. Если компьютер предоставляет свои ресурсы другим компьютерам сети, то он называется сервером, а если он их потребляет - клиентом. Иногда один и тот же компьютер может выполнять роль как сервера, так и клиента.

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

рис. 1

Развитие теории компьютерных сетей является логическим результатом эволюции двух важнейших научно-технических отраслей современной цивилизации - компьютерных и телекоммуникационных технологий.[1, с. 4-5]

.2 Категории сетевого программного обеспечения

.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.

.2.3 ПО сетевой операционной системы

Сетевые операционные системы помогают осуществлять основные работы, проводимые в сети:

·              файловая поддержка (создание, поиск файлов);

·              коммуникации (взаимообмен данными);

·              услуги поддержки оборудования.

Сетевые операционные системы могут базироваться на операционных системах MS DOS, OS/2, Unix, Macintosh, Windows или на своих собственных операционных системах. Но вне зависимости от операционной системы, на которой базируется сетевая операционная система, они предоставляют средства обеспечения безопасности данных путем контроля прав доступа пользователей к рабочим программам, массивам данным и ресурсам сети.

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

Существуют, однако, специальные программы, работающие в сети с централизованным управлением и позволяющие передавать данные непосредственно от одной рабочей станции к другой, минуя файл-сервер, например NetLink. После ее запуска на двух рабочих станциях можно передавать файлы с диска одной станции на диск другой, аналогично тому, как копируются файлы из одного каталога в другой при помощи программы Norton Commander. На рабочих станциях должно быть установлено специальное программное обеспечение, часто называемое сетевой оболочкой. Это обеспечение работает в среде той ОС, которая используется на данной рабочей станции, - DOS, Windows, OS/2 и т. д.

Файл-серверы могут быть выделенными <#"784253.files/image002.gif">

Рисунок 1.Создание сервера

Рисунок 2.Подключение Клиента

Рисунок 3.Обмен сообщения с клиентом

Листинг программы сервера

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <winsock.h>

#include <iostream>

#include <list>

#include <fstream.h>

#include <conio.h>

//---------------------------------------------------------------------------

#pragma argsusednamespace std;wsadata;server_socket;buff[1024];::list<SOCKET> clients;WINAPI ClientPool(LPVOID param)

{ SOCKET client_socket = (SOCKET)param;(true)

{bytes = recv(client_socket, &buff[0], sizeof(buff), 0);("client: %s\n", buff);

} return 0;/*bytes_recv;client_socket;_socket = (SOCKET)param;( (bytes_recv = recv(client_socket,&buff[0],sizeof(buff),0)) && bytes_recv !=SOCKET_ERROR)

{printf("client: %s\n", buff);::list<SOCKET>::iterator it;(it = clients.begin(); it!=clients.end(); ++it)((*it), buff, bytes_recv, 0);} */("disconnect\n");(client_socket);0;}main()

{WSAStartup(MAKEWORD(2,2),&wsadata);_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);_IN server_addr;_addr.sin_family = AF_INET;_addr.sin_port = htons(6666);_addr.sin_addr.s_addr = INADDR_ANY;(server_socket,(SOCKADDR*)&server_addr, sizeof(server_addr));(server_socket, 10);("Server start\n");(true)

{_IN client_addr;len_client_addr = sizeof(client_addr);client = accept(server_socket, (struct sockaddr*)&client_addr, &len_client_addr);("New connection\n");.push_back(client);ThreadID;hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ClientPool,

{(&buff[0],sizeof(buff),stdin);(client, buff, strlen(buff)-1,0);

}

}0;

}

//---------------------------------------------------------------------------

Клиентское приложение выполняет подключение к серверу и обмен с ним сообщениями.

Рисунок 4.Подключение к серверу

Рисунок 5.Обмен сообщениями с клиентом

Листинг программы Клиент

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <winsock.h>

#include <iostream>

#include <list>

#include <stdlib.h>

#include <stdio.h>

#include <fstream.h>

#include <conio.h>

//---------------------------------------------------------------------------

#pragma argsusedwsadata;client_socket;buff[1024];WINAPI ServerPool(LPVOID param)

{server_socket = (SOCKET)param;(true)

{bytes = recv(server_socket, &buff[0], sizeof(buff), 0);("server: %s\n", buff);

}0;

}main()

{(MAKEWORD(2,2),&wsadata);_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);_in dest_addr;_addr.sin_family = AF_INET;_addr.sin_addr.s_addr = inet_addr( "127.0.0.1" );_addr.sin_port = htons(6666);(connect(client_socket, (SOCKADDR*)&dest_addr, sizeof(dest_addr)))("Not connect\n");printf("Connect\n");ThreadID;hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ServerPool,

(void*) client_socket, 0, &ThreadID);(1)

{(&buff[0],sizeof(buff),stdin);(client_socket, buff, strlen(buff)-1,0);

}0;

}

//---------------------------------------------------------------------------

Заключение

клиент серверный программирование

В ходе выполнения данной курсовой работы изучены сокеты и их применение в программировании для передачи сообщений по сети. Так же были изучены компоненты для реализации сокетов в программных кода среды программирования Borland Builder C++.

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

1.      Программное обеспечение компьютерных сетей: Учебное пособие / О.В. Исаченко. - М.: ИНФРА-М, 2012. - 117 с

2.      http://professia.org/seti/251/2_5_1.%20HTML.html

3.      Информатика в экономике: учебное пособие / под ред. Б.Е. Одинцова, А.Н. Романова. М.: Вузовский учебник, 2008. - 478 с

.        Компьютерная обучающая программа по дисциплине «Информатика» / А.Н. Романов, В.С. Торопцов, Д.Б. Григорович, Л.А. Галкина, А.Ю. Артемьев, Н.И. Лобова, К.Е. Михайлов, Г.А. Жуков, О.Е. Кричевская, С.В. Ясеновский, Л.А. Вдовенко, Б.Е. Одинцов, Г.А. Титоренко, Г.Д. Савичев, В.И. Гусев, С.Е. Смирнов, В.И. Суворова, Г.В. Федорова, Г.Б. Коняшина. М.: ВЗФЭИ, 2000. Дата обновления 24.11.2010. URL: http://repository.vzfei.ru

.        Информатика: методические указания по выполнению курсовой работы для студентов второго курса всех специальностей. М.: ВЗФЭИ, 2008. URL: http://repository.vzfei.ru.

Похожие работы на - Разработка клиент серверного приложения

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!