на первый
заказ
Магистерская диссертация на тему: Архитектура клиент-сервер. Основные понятия. Сокеты и библиотека WinSоск
Введение
Компьютерная сеть обозначает наборы связанных между собой автономных компьютеров. Два компьютера называются связанными между собой, если они могут обмениваться информацией. Связь не обязательно должна осуществляться при помощи медного провода. Могут использоваться самые разнообразные средства связи, включая волоконную оптику, радиоволны высокой частоты и спутники связи. Сети могут отличаться друг от друга также размерами и принципами построения. Как ни странно, ни Интернет, ни так называемая Мировая паутина (WWW) не являются сетями. В литературе существует путаница между понятиями "компьютерная сеть" и "распределенная система". Основное их различие заключается в том, что в распределенной системе наличие многочисленных автономных компьютеров незаметно для пользователя. С его точки зрения, это единая связанная система. Пользователи имеют дело с реальными машинами, и со стороны вычислительной системы не осуществляется никаких попыток связать их воедино. Тем не менее, эти два понятия имеют много общего. Например, как компьютерная сеть, так и распределенная система занимаются перемещением файлов. Разница заключается в том, кто вызывает эти перемещения - система или пользователь.В настоящее время для связи компьютеров в сетях очень часто используется протокол TCP. Протокол TCP предполагает, что нижестоящим протоколом является Internet (IР).
Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, с с гарантией получения потоков данных.
Оглавление
- Введение- Архитектура клиент-сервер
- Основные понятия. Сокеты и библиотека WinSock
- Программа клиент
- Программа сервер
- Разработка системы передачи данных в локальной вычислительной сети
- Анализ требований
- Проектирование
- Реализация
- Реализация приложения сервер
- Реализация приложения клиент
- База данных Магазин бытовой техники
- Результаты работы Заключение
- Список использованной литературы
- Приложение А
- Приложение Б
- Приложение В
Заключение
В ходе выполнения курсового проекта было разработано "клиент-серверное приложение" для передачи и обработки данных. Программа была разработана на языке С в среде программирования Мiсrоsоft Visuаl Studiо.Проведённое тестирование показало правильность работы программ. Разработка проведена с использованием операционной системы Windоws 7 на ПК с процессором Рhеnоm II.
Список литературы
1. Зинкин С.А. Курс лекций по курсу "Сети ЭВМ и телекоммуникации"2. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер.-СПб.: Питер, 2002.
. Филиппов М.В.Вычислительные машины, компьютерные сети и системы телекоммуникации.
5. Сети ЭВМ: протоколы, стандарты, интерфейсы / Ю. Блэк; перев. с англ. - М.: Мир, 1990.
. А.П. Сергеев Офисные и локальные сети. Самоучитель: - М.: Издательский дом "Вильямс", 2003
магазин сеть клиент сервер
Приложение А (обязательное)
Листинг программного текста
Приложение "Сервер"
#endif(_Т("Local AppWizard-Generated Applications"));(0); // Load standard INI file options (including RU)* pDocTemplate;= new CSingleDocTemplate(_MAINFRAME,_CLASS(CLip_serverDoc),_CLASS(CMainFrame), // main SDI frame window_CLASS(CLip_serverView));(pDocTemplate);
SOCKET MySocket;// основное гнездо - на которое принимаются соединения
sockaddr_inMySocketAdress;// структура данных гнездаnewSocket;// гнездо, на которое перенаправляются соединения
inta;= socket(AF_INET, SOCK_STREAM, 0); // создать гнездо
{ // в случае неудачи - выдать сообщение и выйти
}.sin_family = AF_INET; // заполнение структуры
данных.sin_port = htons(port);.sin_addr.s_addr = htonl(INADDR_ANY);(bind(MySocket, (sockaddr*) &MySocketAdress,(MySocketAdress)) == SOCKET_ERROR) // получение локального
адреса
{ // в случае неудачи - выдать сообщение, закрыть гнездо и выйти
}(listen(MySocket, 5) == SOCKET_ERROR) // перевести гнездо в с
остояние ожидания
принять соединение(newSocket == INVALID_SOCKET)
// попытаться получить адрес клиента
// запустить в отдельной нити функцию обслуживания клиента
{s = (SOCKET) pParam;// гнездо, с которым будет вестись
обменbuf[500], // буферы для данных[500], // буфер для шифрованного текста
pwd[21]; // пароль
recv(s, len, sizeof len, 0); // прием данных от клиента= recv(s, encrypted, (int) len, 0); // прием данных от клиента
crypt(encrypted, buf, pwd, n);(n < 1) {(s); // закрытие гнезда0;
}= false;(s, len, sizeof len, 0); // прием данных от клиента= recv(s, encrypted, (int) len, 0); // прием данных от клиента(encrypted, buf, pwd, n);
} while (n > 0);(s); // закрытие гнезда0;
// функция преобразования строки пароля в гамму шифра
{buf[20];i;long flag;unsigned long g;(pwd) {(buf, 0x55, 20);// UUUUUUUUUUUUUUUUUUUU(buf, pwd, strlen(pwd));// passwordUUUUUUUUUUUU(i = 0, g = 0; i < 20; i++)// свертка пароля+= (unsigned long) (buf[i] << (i % 23));
}(i = 5; i > 0; i--) { // циклический сдвиг на 5 разрядов вправо
}g; // возвратить значение гаммы
// шифрует открытый текст source по паролю pwd
// и записывает шифрованный текст в dest
// шифрование симметричноесryрt(const char *source, char *dest, char *pwd, int len)
g = gamma(pwd);// получить гамму шифра= (len + 1) / 4 + 1; // сосчитать число 32-разрядных блоков
for(i = 0; i < nBlocs; i++, pDst++, pSrc++) // цикл гаммирования
открытого
*pDst = *pSrc ^ gamma(0); // текста блоками по 32 бита[nBlocs * 4] = 0;// вставить завершающий символ 0nBlocs * 4 + 1;// возвратить число байт в зашифрованном тексте
или зарегистрироваться
в сервисе
удобным
способом
вы получите ссылку
на скачивание
к нам за прошлый год