Skip to content

vlsuKovalewVladimir/modern-computer-technology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Общая информация

Владимирский государственный университет. ВлГУ

Факультет прикладной математики и физики. ФПМФ

Лабораторные работы по предмету "Современные компьютерные технологии"

Выполнил студент группы: ПМИм-115

Ковалев Владимир Евгеньевич (Вариант 1)

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

#####Задание:

Разработать консольное приложение, реализующее технологию клиент-сервер с помощью сокетов. Клиентская часть должна считывать строку с клавиатуры и передавать на сервер. Серверная часть – ожидать подключение клиентов, открывать соединение и выводить на экран адрес клиента и принятую строку. Адрес сервера передается программе в качестве параметра.

#####Запустить клиент:

lab1.exe -c <IP адрес сервера> <порт>

Пример: lab1.exe -с 127.0.0.1 10001

#####Запустить сервер:

lab1.exe -s <порт>

Пример: lab1.exe -s 10001

#####Результат:

Клиент

Сервер

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

#####Задание:

На основе лабораторной работы №1 создать прототип распределенной системы, взаимодействующей посредством вызовов удаленных процедур (RPC). Механизм RPC использует сокеты TCP/IP в качестве транспортного слоя.

#####Состав модулей:

Серверная часть: реализует набор процедур. Процедуры – простейшие арифметические действия над целыми числами:

  1. сложение: int add (int a, int b);
  2. вычитание: int sub (int a, int b);
  3. умножение: int mul (int a, int b).

Клиентская часть: запрашивает 2 аргумента с клавиатуры, производит вызов RPC и отображает результат на экране.

Переходники (клиентский, серверный): реализуют механизм RPC при помощи сокетов.

Клиентский переходник представляет собой функцию ClientStub с тремя параметрами (код, аргумент1, аргумент2), которая:

  1. создает клиентский сокет,
  2. производит подключение к серверу (адрес сервера задать любым удобным способом)
  3. передает пакет данных (код функции [+,-,*], аргумент1, аргумент2)
  4. считывает результат из сокета
  5. возвращает результат.

Серверный переходник представляет собой функцию ServerStub без параметров, которая:

  1. создает серверный сокет
  2. при подключении клиента считывает пакет данных
  3. вызывает соответствующую функцию по коду, передавая ей аргументы.
  4. записывает результат в сокет.

Кроме этого, клиентская часть содержит прокси-функции add, del и mul, которые выполняют RPC, вызывая клиентский переходник ClientStub.

Готовый прототип системы должен состоять из 2-х приложений: клиентского и серверного. Общая схема взаимодействия показана на рисунке.

Задание

#####Запустить клиент:

lab2.exe -c <IP адрес сервера> <порт>

Пример: lab2.exe -с 127.0.0.1 10001

#####Запустить сервер:

lab2.exe -s <порт>

Пример: lab2.exe -s 10001

#####Результат:

Клиент

Сервер

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

#####Задание:

Имеется P2P-система, предоставляющая пользователям доступ к некоторому множеству документов. Документы могут регистрироваться и редактироваться независимо на каждом узле системы. Требуется осуществить синхронизацию («репликацию») наборов документов между узлами. Работа выполняется по вариантам:

  • Вариант 1 (нечетные номера по алфавитному списку группы). Синхронизация реализуется на основе Push-модели.
  • Вариант 2 (четные номера по алфавитному списку группы). Синхронизация реализуется на основе Pull-модели.

Контактная информация

e-mail: kovalew.vladimir@gmail.com

About

Современные компьютерные технологии

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages