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

Тема: Создание клиент-серверного приложения на базе транспортного протокола SCTP.

Задание:

Требуется разработать клиент-серверные программы передачи данных на базе транспортного протокола SCTP [1, 2]. Обеспечить передачу информации по нескольким потокам в одном соединении или ассоциации (особенность протокола SCTP).

1. Клиентская программа посылает в одном соединении или ассоциации: текстовое сообщение в первом потоке; файл с картинкой во втором потоке.
2. Серверная программа принимает в одном соединении или ассоциации от каждого из клиентов: текстовое сообщение с первого потока и выводит на экран; со второго потока принимает данные и сохраняет в файл.
3. В серверной программе реализовать (на выбор) параллельную или псевдопараллельную обработку клиентов.
4. Реализация - на языке C/C++, консольные приложения.

Серверная программа должна находить номер свободного порта и выводить его на экран. При запуске клиентской программы задавать со строки IP адрес сервера и порт (см., например, [3], стр. 338-342, функции bind, getsockname).

Полезные ссылки:
1. Протокол SCTP http://rfc.com.ru/rfc2960.htm
2. Стивенс У.Р., Феннер Б., Рудофф Э. М.UNIX: разработка сетевых приложений. - 3-е изд. - СПб. : ПИТЕР, 2007. - 1038с.
3. Фейт С. TCP/IP: Архитектура, протоколы, реализация (включая IP версии 6 и IP Security). – М.: Лори, 2000. – 424 с.