Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные по работе с linux / 2 / Описание лаб2

.docx
Скачиваний:
104
Добавлен:
20.02.2016
Размер:
19.11 Кб
Скачать

Лабораторная работа №2

Лабораторная работа нацелена на изучение основ программирования под операционные системы (ОС) семейства UNIX, работы с сокетами, потоками, и написания makefile-ов. В качестве дистрибутива ОС используется сборка Tinycore Linux.

Термины, которые будут полезны:

Сокет – программный интерфейс для обмена данными между процессами, которые могут быть запущены как на одном хосте, так и на разных (сетевое взаимодействие).

Makefile – файл описания зависимостей между файлами. Как правило, используется при компиляции исходных кодов программ в объектные файлы.

Ход работы

Задание 1: Напишите программу «Hello Wolrd!»

Для написания исходного кода используйте редактор vi

Для компиляции используйте компилятор gcc

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

  1. Возвращать полученную строку клиенту в верхнем регистре (aSdF -> ASDF);

  2. Возвращать длину полученной строки клиенту (asdf -> 4);

  3. Возвращать полученную строку клиенту в обратном порядке (aSdF->FdSa);

  4. Возвращать полученную строку клиенту в нижнем регистре (aSdF -> asdf).

Кроме того, клиент после установки соединения с сервером должен каждые 10 секунд отправлять строку на сервер для подтверждения своего присутсвия (реализовать в качестве второго потока).

Клиентское и серверное приложение собирать с помощью makefile-а.

.

Задание 3 (необязательно) : В качестве дополнительного задания, можете реализовать данную задачу через bash-скрипт.

Полезная информация

  1. https://rsdn.ru/article/unix/sockets.xml

  2. https://en.wikibooks.org/wiki/C_Programming/Networking_in_UNIX

  3. https://www.opennet.ru/base/dev/linux_threads.txt.html

  4. https://computing.llnl.gov/tutorials/pthreads/

  5. http://habrahabr.ru/post/155201/

  6. http://www.gnu.org/software/make/manual/make.html

Соседние файлы в папке 2