Автор работы: Пользователь скрыл имя, 19 Июня 2013 в 15:16, курсовая работа
Однако основной особенностью данных программ является обязательное подключение к серверу, что делает невозможным использование данных программ, например, в локальной вычислительной сети или просто между двумя компьютерами, без организации соответствующего сервера.
Используя современные средства визуальной разработки программного обеспечения, имеется возможность быстрого создания собственных программ по обмену сообщениями в локальной вычислительной сети. В данной курсовой работе рассматривается создание клиент-серверного приложения ЧАТ с помощью среды визуальной разработки приложений Borland C++ Builder версии 6.
Введение ………………………………………………………………………. .3
Глава 1. Цели и задачи разработки ……………………………………………4
1.1 Цели разработки…………………………………………………………….4
1.2 Задачи разработки…………………………………………………………...4
Глава 2. Назначение и область применения …………………………………..5
2.1 Назначение программы……………………………………………………..5
2.2 Область применения программы ………………………………………….5
2.3 Постановка задачи и разработка алгоритма работы приложения……. …5
Глава 3. Решение задачи с помощью программных средств………………….8
3.1 Выбор среды разработки…………………………………………………….8
3.2 Разработка серверной части…………………………………………………8
3.3 Разработка клиентской части………………………………………………16
Заключение………………………………………………………………………24
Список используемых источников……………………………………………..25
Приложение………………………………………………………………...……
Содержание
Введение ………………………………………………………………………. .3
Глава 1. Цели и задачи разработки ……………………………………………4
1.1 Цели разработки………………………………………
1.2 Задачи разработки…………………………………
Глава 2. Назначение и область применения …………………………………..5
2.1 Назначение программы…………………………………………………….
2.2 Область применения программы ………………………………………….5
2.3 Постановка задачи и разработка алгоритма работы приложения……. …5
Глава 3. Решение задачи с помощью программных средств………………….8
3.1 Выбор среды разработки……………………………………………………
3.2 Разработка серверной части…………………………………………………8
3.3 Разработка клиентской части………………………………………………16
Заключение……………………………………………………
Список используемых источников……………………………………………..
Приложение……………………………………………………
Введение
Развитие информационных технологий в настоящее время идет все быстрее и быстрее. Разработано множество стандартов, протоколов, форматов по хранению и передаче информации между компьютерами. В настоящее время существует большое количество программ для обмена данными между компьютерами. Особую роль среди них занимают программы обмена сообщениями. Многие из этих программ уже настолько развиты, что имеют возможность обмена файлами, передачи голоса и видео.
Однако основной особенностью данных
программ является обязательное подключение
к серверу, что делает невозможным
использование данных программ, например,
в локальной вычислительной сети
или просто между двумя компьютерами,
без организации
Используя современные средства визуальной разработки программного обеспечения, имеется возможность быстрого создания собственных программ по обмену сообщениями в локальной вычислительной сети. В данной курсовой работе рассматривается создание клиент-серверного приложения ЧАТ с помощью среды визуальной разработки приложений Borland C++ Builder версии 6.
Глава 1.
Цели и задачи разработки
Разработать клиент-серверное приложение "Чат" с поддержкой файлового обмена.
Разработать клиент-серверное приложение "Чат" с поддержкой файлового обмена со следующей функциональностью:
Глава 2.
Назначение и область применения
Назначение программы "Клиент-серверное приложение "Чат" с поддержкой файлового обмена" заключается в организации соединения между несколькими компьютерами для создания между ними обмена короткими сообщениями и файлами.
Программу "Клиент-серверное приложение "Чат" с поддержкой файлового обмена" можно использовать в локально-вычислительных сетях на компьютерах под управлением операционной системы Windows.
2.3 Постановка задачи и разработка алгоритма работы приложения
Необходимо разработать клиент-
Опишем примерный алгоритм работы
приложения. Приложение состоит из
серверной и клиентской части, в
дальнейшем – сервер и клиент. Сервер
в рабочем состоянии постоянно
находится в состоянии
Рис. 2.1 Алгоритм работы серверной части приложения
Рис. 2.2 Алгоритм работы клиентской части приложения
Рис 2.3 Функциональная схема программы
Глава 3
Решение задачи с помощью программных средств
Для решения задачи используем интегрированную среду визуальной разработки программ - Borland C++ Builder 6. Ее основные преимущества – гибкость языка C++, наличие визуального редактора форм, набор компонент с богатыми функциональными возможностями.
Определенную часть работы при программировании в Borland C++ Builder 6 занимает построение пользовательского интерфейса программы. Для этого используется редактор форм и набор визуальных компонент. Размещая компоненты на форме и редактируя их свойства, например, высоту, ширину, текст, мы получим в итоге заготовку программы с тем внешним видом, с которым и будет в дальнейшем работать пользователь.
Компоненты Borland C++ Builder 6 с точки зрения объектно-ориентированного программирования являются объектами. Работа с ними реализована в Borland C++ Builder 6 через наборы свойств, событий, и методов. Компоненты, размещаемые на редакторе форм в ходе разработки пользовательского интерфейса программы, еще не запрограммированы на какие-либо действия пользователя. Поэтому для каждой компоненты нужно написать ответную реакцию на какое-либо событие пользователя, например, запрограммировать вывод определенного сообщения, если пользователь нажал на ту или иную кнопку в программе.
Создадим новый проект, на форме, разместим компоненты, согласно рисунка 3.2.1.
Рис. 3.2.1 Внешний вид основной формы серверной части приложения "Чат"
Значения свойств формы и свойств компонент, размещенных на форме приведены в таблице 3.2.1.
Табл. 3.2.1 Основные значения свойств формы и свойств компонент, размещенных на форме серверной части приложения
Свойство |
Значение |
Окно формы TForm | |
Name |
MainForm |
Caption |
Чат: сервер |
Height |
300 |
Width |
210 |
TGroupBox | |
Name |
GroupBox_Options |
Caption |
Настройки |
TLabel | |
Name |
Label_IPadress |
Caption |
IP-адрес сервера |
TEdit | |
Name |
Edit_IPadress |
Text |
127.0.0.1 |
TGroupBox | |
Name |
GroupBox_ServerMode |
Caption |
Режим работы |
TCombobox | |
Name |
ComboBox_ServerMode |
Items |
On-Line | Off-Line |
ItemIndex |
1 |
TGroupBox | |
Name |
GroupBox_ClientList |
Caption |
Список клиентов |
TListBox | |
Name |
ListBox_ClientList |
TServerSocket | |
Name |
ServerSocket1 |
Active |
False |
Port |
2000 |
ServerType |
stNonBlocking |
TServerSocket | |
Name |
ServerSocket2 |
Active |
False |
Port |
3000 |
ServerType |
stNonBlocking |
TStatusBar | |
Name |
StatusBar1 |
Panels |
0 - TStatusPanel |
Добавим форму к проекту, разместим компоненты, согласно рисунка 3.2.2.
Рис. 3.2.2 Внешний вид формы серверной части приложения Чат, предназначенной для отправки сообщений и файлов
Значения свойств формы и свойств компонент, размещенных на форме приведены в таблице 3.2.2.
Табл. 3.2.2 Основные значения свойств формы и свойств компонент, размещенных на форме, предназначенной для отправки сообщений и файлов
Свойство |
Значение |
Окно формы TForm | |
Name |
SendForm |
Caption |
Отправка-прием |
Height |
210 |
Width |
380 |
TMemo | |
Name |
Memo_Chat |
Lines |
пусто |
ReadOnly |
True |
TEdit | |
Name |
Edit_SendText |
Text |
пусто |
TButton | |
Name |
Button_SendText |
Caption |
Отправить текст |
TBevel | |
Name |
Bevel1 |
Width |
360 |
Height |
3 |
TButton | |
Name |
Button_SendFile |
Caption |
Отправить файл |
TOpenDialog | |
Name |
OpenDialog1 |
Далее необходимо написать обработчики возможных событий, которые могут произойти во время работы с программой, реализовать логику работы программы.
При запуске серверной части программы "Чат" необходимо указать IP-адрес сервера и выбрать режим работы "On-Line" (рис. 3.2.3). Если сервер и клиент запускаются на одном и том же компьютере, то можно ввести в качестве IP-адреса – 127.0.0.1
Рис. 3.2.3 Окно серверной части приложения после запуска
серверный файл приложение визуальный
В Borland C++ Builder 6 для организации клиент-серверных приложений можно использовать такие компоненты как TServerSocket и TClientSocket. На сервере будем использовать две компоненты TServerSocket – одну для обмена сообщениями, другую для обмена файлами.
После ввода параметров соединения и выбора режима работы "On-Line" обе компоненты TServerSocket активируются и после этого сервер ждет подключения клиента. В режиме "Off-Line" обе компоненты TServerSocket деактивируются, все подключенные к серверу клиенты теряют соединение.
// Выбор режима работы
void __fastcall TMainForm::ComboBox_
{
// Если On-Line, то:
if (ComboBox_ServerMode->
{
ServerSocket1->Active = True; // активируем ServerSocket1
ServerSocket2->Active = True; // активируем ServerSocket2
// В строке состояния (внизу программы) пишем "Работаем"
StatusBar1->Panels->Items[0]->
}
// Если Off-Line, то деактивируем ServerSocket1 и ServerSocket2
if (ComboBox_ServerMode->
{
ServerSocket1->Active = False; // деактивируем ServerSocket1
ServerSocket2->Active = False; // деактивируем ServerSocket2
// В строке состояния (внизу программы) пишем "Не работаем"
StatusBar1->Panels->Items[0]->
ListBox_ClientList->Clear(); // Очищаем список клиентов
}
}
При подключении клиента он добавляется в список клиентов.
// Когда клиент подсоединился
void __fastcall TMainForm::
TCustomWinSocket *Socket)
{
// Добавляем его в список
ListBox_ClientList->Items->
}
После этого можно начинать отправку
клиенту сообщений или файлов.
Для этого нужно сделать
Обработчик события при щелчке на имени клиента в списке клиентов следующий.
// Для отправки сообщения/файла
клиенту щелкаем в списке
// строчку "Клиент"
void __fastcall TMainForm::ListBox_
{
SendForm->ShowModal(); // Показываем форму для отправки сообщений
}
Рис. 3.2.4 Основное окно сервера и окно "Отправка-прием"
Текст набираем в поле ввода, после чего нажимаем на кнопку "Отправить текст". Обработчик события для этой кнопки следующий.
// При нажатии на кнопку "Отправить текст"
void __fastcall TSendForm::Button_
{
// Добавляем отправляемый текст в окно чата
Memo_Chat->Lines->Add("Сервер: "+Edit_SendText->Text);
// Отправляем текст клиенту
MainForm->ServerSocket1->
// Очищаем поле ввода текста
Edit_SendText->Text = "";
}
Для отправки файла необходимо нажать на кнопку "Отправить файл". Обработчик события для этой кнопки следующий.
// Отправка файла клиенту при нажатии кнопки "Отправить файл"
void __fastcall TSendForm::Button_
{
// Открываем диалоговое окно выбора файла
if (SendForm->OpenDialog1->
{
// Если файл выбран, то используем имя файла
if (SendForm->OpenDialog1->
{
//Открываем файл на чтение и передаем его клиенту
TFileStream* f1=new TFileStream(SendForm->
MainForm->ServerSocket2->
//Добавляем в окно Чата
Memo_Chat->Lines->Add("Файл " + OpenDialog1->FileName + " отправлен");
}
}
}
При получении сообщения от клиента добавляем его в окно чата, расположенное на форме "Отправка-прием".
// В случае, если от клиента пришло текстовое сообщение
Информация о работе Решение задачи с помощью программных средств