Skip to content

roman-bezak/SPOLKS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

Лабораторная работа № I

Знакомство с программированием сокетов.

Необходимо реализовать простейшую программу-сервер с использованием протокола TCP. Сервер должен поддерживать выполнение нескольких комманд, определяемых на усмотрение студента, но как минимум должен поддерживать выполнение следующих (или аналогичных): ECHO (возвращает данные переданные клиентом после команды), TIME (возвращает текущее время сервера), CLOSE (EXIT/QUIT) (закрывает соединение). Комманда может иметь параметры (например ECHO). Любая команда должна оканчиваться символами \r\n или \n. В качестве клиента предполагается использование системных утилит: telnet, netcat и других. Возможно использование собственной программы клиента, но это является не обязательным. Продемонстрировать использование утилит: nmap -- сканирование портов сервера, netstat -- список открытых сокетов на сервере, номера портов.

Клиент серверная программа для передачи файла по сети с использованием протокола TCP

Необходимо реализовать клиент и последовательный сервер, позволяющие обмениваться файлами. Сервер должен продолжать поддерживать комманды, которые были реализованы в лабораторной работе №1, добавляя к этому комманду передачи файла. Запрос на закачку файла на сервер или скачивание с него, должен инцировать клиент. Команды могут быть к примеру UPLOAD/DOWNLOAD. Решать проблемы связанные с тем что такого файла нет (например мы хотим скачть файл с сервера, но не знаем каково его имя), не нужно, достаточно вывести сообщение, что файла с запрашиваемым именем нет. Файлы должны передаваться с помощью протокола TCP. Реализация должна учитывать возможные исключительные ситуации, связанные с проблемами сети, такие как физический или программный обрыв соединения. Алгоритм определения разрыва соединения может быть любым, но таким, чтобы пользователь смог узнать об этом в разумное время (от 30 секунд до 2-5 минут). До вывода сообщения о наличии проблем с соединением программа должна восстанавливать передачу файла самостоятельно. Если же сообщение о проблеме уже выведено, то решение о попытке восстановления должен принимать пользователь. Сервер обязан поддерживать восстановление докачивания/скачивания файла. Допускаются следующие ограничения: докачка осуществляется если после восстановления соединения подключился тот же клиент и пытается докачать/скачать тот же файл, что и в прошлую сессию. Если успел подключится другой клиент, или сервер был перезапущен, то сервер имеет полное право удалить файлы (и данные сессии) относящиеся к незавершенным загрузкам. Сервер и клиент обязаны работать в рамках одного потока.

Лабораторная работа № II

Клиентсерверная программа для передачи файла по сети с использованием протокола UDP.

Модификация программы из Л.р. 1. Добавить к клиенту и серверу возможность работы по протоколу UDP, передачи комманд и файлов. Уделить внимание обработке исключительных ситуаций, например физического или программного обрыва соединения.

Подробно.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages