На выполнение Лабораторной работы 1 дается 3 недели.
Срок –Первая неделя октября.
Тема: Сервер/клиент на основе UDP протокола. Поддержка подтверждения получения информации.
Задание:
1. Написать клиент-серверную программу на основе транспортного протокола UDP [1]. Реализовать: подтверждение приема для каждой датаграммы, с целью сохранения целостности всей информации (см. особенности протокола TCP). Клиент передает файл или сообщение (несколькими датаграммами), сервер принимает.
2. Продемонстрировать реализованные возможности программ согласно заданию, при одновременной передачи файлов от нескольких клиентов к серверу. Например, при запуске сервера, указать - какие пакеты и сколько раз будут потеряны. Результат правильности приема выводить на экран.
3. Реализация - на языке C/C++, консольные приложения.
Серверная программа должна находить номер свободного порта и выводить его на экран (см., например, [1], стр. 338-342: обратите внимание на функции bind, getsockname). При запуске клиентской программы задавать со строки IP адрес сервера и порт.
Полезные ссылки:
1. Фейт С. TCP/IP: Архитектура, протоколы, реализация (включая IP версии 6 и IP Security). – М.: Лори, 2000. – 424 с.
2. http://rsdn.ru/article/unix/sockets.xml .