Отчёт по ДЗ №12.

Старцев Евгений Борисович, БПИ219.

Инструкция по компиляции и запуску:

Скомпилируйте файлы server.c и client.c с помощью компилятора gcc:

gcc -o server server.c
gcc -o client client.c

Это создаст два исполняемых файла: server и client.

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

./server

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

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

./client

Клиент теперь будет отправлять сообщение "Hello Server!" серверу и принимать сообщения, отправленные сервером.

Описание программ:

В этих программах реализована клиент-серверная архитектура с использованием протокола UDP для взаимодействия между клиентом и сервером.

Сначала клиент отправляет сообщение "Hello Server!", указывая свой IP-адрес и порт, после чего он начинает принимать сообщения от сервера.

Сервер, получив сообщение от клиента, начинает отправлять сообщения, вводимые в консоли, обратно клиенту.

В случае модифицированной версии программы для широковещательной рассылки, сервер отправляет сообщения на групповой IP-адрес, а клиент присоединяется к этой группе и начинает принимать эти сообщения.

Особенности реализации:

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

В модифицированной версии программы используется многоадресная рассылка, позволяющая одному узлу отправлять сообщения группе узлов. Это достигается путем использования групповых IP-адресов в диапазоне от 224.0.0.0 до 239.255.255.255.

Модифицированное решение представленно в файлах server_multicast.c и client_multicast.c. и server_multicast.c Компиляция аналогична выше приведённой инструкции.