ТГУ, распределенные системы (практические задания)
| 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? | |