Клиент-серверное приложение «Удаленный проводник»

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1 АНАЛИЗ И ПОСТАНОВКА ЗАДАЧИ

1.1 Анализ исходных данных

1.2 Выбор специального и общесистемного программного обеспечения

1.3 Выводы по первой главе

2 ПРОЕКТИРОВНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

2.1 Функции клиента и сервера

2.2 Макет пользовательского интерфейса

2.3 Прикладной протокол взаимодействия клиента и сервера

2.4 Алгоритм работы клиента и сервера

3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

3.1 Детальная реализация функциональных частей программного обеспечения

3.2 Сопроводительная документация программного обеспечения

3.3 Тестирование программного обеспечения

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

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

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

Основной принцип технологии "клиент-сервер" заключается в разделении функций приложения на три группы:

  • ввод и отображение данных (взаимодействие с пользователем);
  • прикладные функции, характерные для данной предметной области;
  • функции управления ресурсами (файловой системой, базой данных и т.д.)

Целью данного курсового проектирования является реализация клиент-серверного приложения «Удаленный проводник». Основным предназначением реализуемого программного продукта является просмотр и сохранения файлов.

 

1 АНАЛИЗ И ПОСТАНОВКА ЗАДАЧИ

1.1  Анализ исходных данных

Исходными данными для разработки данного проекта являются следующие утверждения:

  • задача сервера – предоставлять доступ и выполнять команды клиентов;
  • минимальное число поддерживаемых клиентов – 4;
  • задача клиента – смотреть (искать), скачивать (загружать) файлы с(на) удаленный сервер;
  • конфигурация сетевого адреса – в специальном файле;
  • клиентский интерфейс – консольный или оконный;
  • тип сокетов – блокирующий или неблокирующий;
  • транспортный протокол – TCP;
  • язык программирования – С/С++;
  • вспомогательные библиотеки – Qt;
  • платформа реализации – ОС Linux и ОС Windows;
  • для работы с файловыми объектами использовать системные вызовы;
  • выводить информационные сообщения в стандартный поток вывода на сервере.

2 ПРОЕКТИРОВНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

2.1  Функции клиента и сервера

На рисунке 2.1 представлена диаграмма вариантов использования.

Рисунок 2.1 – Диаграмма вариантов использования

Функции клиента:

  • отправлять команды на просмотр, загрузку и сохранение файлов;
  • получать результаты о выполнении команд.

Функции сервера:

  • предоставлять доступ клиентам;
  • получать команды от клиента;
  • выполнять команды клиентов;
  • отправлять результат о выполнении команд.

Фрагмент кода из проекта

3.1.1 Реализация функциональной части клиента и сервера

Представим результаты проектирования главных частей клиент-серверного приложения «Удаленный проводник»

Листинг 3.1 – Подключение к серверу

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

this->server = new Server(this);

ui->lineEdit->setText("127.0.0.1");

connect(this->server,SIGNAL(connectedToHost()),this,SLOT(connectedToHost()));

connect(this->server,SIGNAL(disconnectedToHost()),this,SLOT(disconnectToHost()));

connect(this->server,SIGNAL(acceptInfoFiles(QList<FileInfo>)),this,SLOT(updateTable(QList<FileInfo>)));

connect(this->server,SIGNAL(uploadFileToHost()),this,SLOT(uploadFileToHost()));

connect(this->server,SIGNAL(downloadFile(QByteArray,QString)),this,SLOT(downloadFile(QByteArray,QString)));

}

Листинг 3.2 – Отправление команды

void MainWindow::on_tableWidget_doubleClicked(const QModelIndex &index)

{

if(ui->tableWidget->item(index.row(),1)->text()=="Папка с файлами")

{

this->server->requestToDirInfo(ui->tableWidget->item(index.row(),0)->text());

}

}

 

void MainWindow::on_pushButton_clicked() //connect

{

QHostAddress address(ui->lineEdit->text());

if(address.isNull())

{

        QMessageBox::about(this,"СООБЩЕНИЕ!","Введите корректный IP - адрес сервера.");

return;

}

this->server->connectToServer(ui->lineEdit->text(),3333);

}

СОДЕРЖАНИЕ АРХИВА

-Пояснительная записка содержит 20 листов

-Исходный код на C++ для Visual Studio

Купить

3000,00 

(без учета комиссии 3,8 %)

После оплаты Вы получите работу на электронную почту.
Удаленный проводник (Курсовая).rar
7254403
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (0)

samuel992

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Клиент-серверное приложение «Удаленный проводник»
В данной курсовой работе было разработано клиент-серверное приложение «Удаленный поводник». Основные задачи включенные в курсовой проект: -предоставлять доступ и выполнять команды клиента; -поддержка как минимум четырех клиентов; -смотреть, искать, скачивать и загружать файлы.
Категория: Образование
Стоимость: 3000,00