Лабораторная, работа с сокетами, клиент-сервер, чистый С, Linux
600 UAH- Нужно написать две программы, которые будут коммуницировать при помощи сокетов. Одна программа - сервер, вторая - клиентское приложение
- Сервер есть demon-ом, которые после запуска должен отрезаться от терминала, с которого был запущен. Программа сервера запускает обязательно с одной из двух опций:
1. -p port , которая приведёт к тому, что сервер начнет работать в фоновом режиме, слушая подключения клиентов на порте port на всех доступных интерфейсах. В системе может работать одновременно только один инстанс нашего сервера, попытка заново его запустит должна быть просигнализировала должным сообщением.
2. -q , которая приведёт к тому, что будет проверено, работает ли актуально в системе инстанс сервера, и если это окажется правдой - инстанс закроется.
- Клиентское приложение (программа пользователя) запускается с обязательными четырьмя параметрами [ -a addres_ip, -p port, -s string, -o operation ], которые показывают. к какому серверу хотим подключиться и что сервер должен для нас сделать. После подключения к серверу клиент пересылает ему цепочку знаков string а так же операцию к исполнению operation. Разрешенные операции это tolower, toupper и invert.
- Сервер отвечает клиенту соответственно с полученным требованием, пересылая обратно модифицированную цепь знаков (все литеры должны быть уменьшены, увеличены или записаны в обратном порядке)
- После получения ответа клиент выводит ответ на экран и заканчивает свою работу
- Необходимо взять во внимание возможность появления ошибочных ситуаций и, соответственно, на них не реагировать (пример - попытка отправки ответа клиенту, который закончил работу)
- В сервере необходимо использовать механизм мультиплексинга.
- К коду программы должны быть написаны комментарии и обьяснен алгоритм работы
- Программа должна быть написана на чистом С с использованием стандартных библиотек
Данное задание представляет из себя два маленьких скрипта, один из которых выполняет роль простого сервера, который выполняет одну из трёх запрашиваемых функций и отправляет ответ. Второй же - клиент, который после запуска отправляет запрос на сервер, ждёт ответ, после получения - закрывается. Все исполняется на локальной машине, и при проверке задания не будет выходить за рамки локальной сети, соответственно реализация серьезных сетевых протоколов не является необходимой.
Отзыв заказчика о сотрудничестве с фрилансером
Лабораторная, работа с сокетами, клиент-сервер, чистый С, LinuxОтличный исполнитель! Все на уровне, быстрее сроков, код читабелен, рабочий, комментарии написаны подробно. Рекомендую данного специалиста.
Отзыв фрилансера о сотрудничестве с Александром Тильным
Лабораторная, работа с сокетами, клиент-сервер, чистый С, LinuxРекомендую заказчика, отлично сотрудничали.
![]()
-

- "Данное задание представляет из себя два маленьких скрипта"
Это задание никак не может быть реализовано с помощью "двух маленьких скриптов". Хотя бы потому, что в задании явно указано, что "Программа должна быть написана на чистом С". А С к скриптовым языкам никак не относится.
Объём программирования, даже с использованием библиотек на С совсем не маленький. Он включает в себя анализ аргументов командной строки, работу с pid-файлами, превращение в демона - всё это в несколько строк никак не уложить.
Ну и плюс - содержательная часть, которая включает установку соединения, обмен сообщениями, обработку ошибок и т.д. По моей оценке, минимальный объём двух программ, реализующих задание полностью, составляет около 1000 строк на С. -
Актуальные фриланс-проекты в категории C и C++
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 11 дней 18 часов назад ∙ 6 ставок |
Разработка карты семян Minecraft Java / просмотрщика семян для сайтаРазработка карты семян Minecraft Java / Seed Viewer для сайтаОписание проекта Необходимо разработать браузерный инструмент Minecraft Java Seed Map / Seed Viewer, который будет работать на нашем сайте и позволит пользователю ввести семя Minecraft Java Edition и просмотреть… C и C++, HTML и CSS верстка ∙ 12 дней назад ∙ 17 ставок |