ТГУ, распределенные системы (практические задания)


Узнать стоимость этой работы
06.02.2026, 17:36

Форма отчета по практическому заданию

В отчет по практическому заданию должны быть включены следующие пункты:

- титульный лист;

- формулировка задания;

- краткие теоретические сведения;

- описание хода выполнения работы;

- результаты выполненной работы;

- ответы на контрольные вопросы.

Отчет может быть представлен в электронном виде.

 

Практическая работа №1. “Практика работы с сокетами”

Реализовать простой “эхо-чат” с использованием сокетов.

Условия:

1. Сервер должен отправлять всем клиентам (кроме отправителя) сообщение, которое он получил от клиента-отправителя (эхо).

Пример:

Клиент1: >>> Привет.

Сервер: >>> @Клиент1: Привет.

2. Сервер и клиент должны быть реализованы и запускаться отдельно.

3. Клиентов может быть неограниченное количество, однако сервер не должен блокироваться одним клиентом. (Следует использовать потоки и/или асинхронный подход)

 

Практическая работа №2. “Реализация P2P чата”

Реализовать простой “P2P-чат” с использованием сокетов.

Разработанный в первой лабораторной работе “эхо-чат” модернизировать в P2P чат.

Условия:

1. Клиенты образующие связь могут обмениваться сообщениями непосредственно друг с другом (P2P).

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

 

*Практическая работа №3. “Реализация продвинутого P2P чата”

Модернизировать разработанный в второй лабораторной работе “P2P-чат”.

Примечание:

* - Сложные задания

** - Особо сложные задания

Задания:

1. *Добавить "сигнальный сервер", отвечающий за хранение информации об участниках сети.

2. *Предусмотреть консольный интерфейс для получения всех доступных пиров сети и подключение к конкретному пиру, обмен сообщениями между пирами.

3. **Добавить шифрование и дешифрование отправляемых и получаемых данных.

4. **Добавить возможность обмена файлами

5. **Добавить графический интерфейс

6. **Добавить сохранение соединений сети в БД и синхронизацию статуса подключений на сигнальном сервере.

Контрольные вопросы:

1. Что такое пиринговая (P2P) сеть?

2. В каком году впервые появилось понятие (фраза) «peer-to-peer»?

3. Что такое пир (peer)?

4. Какие бывают виды пиринговых сетей?

5. Назовите примеры частично-децентрализованных p2p сетей.

6. Назовите примеры файлообменных  p2p сетей.

7. Каким образом p2p сети могут быть полезны для распределенных вычислений?

8. Что такое TCP/IP?

9. Что такое UDP?

10. Чем является сокет (socket) в программировании?

11. В чем разница между клиент-серверной архитектурой и p2p?



Узнать стоимость этой работы