Главная страница   
Экстренная связь
Сейчас на сайте

Админов: 2 из 7
Исполнителей: 7 из 139
Клиентов: 20 из 5756

Наша помощь
Оценить задание
• Программирование
Информатика
Базы данных
СУБД
• Разработка ПО
Бухгалтерский учёт
Экономика, Аудит
Финанс. менеджмент
Финансовый анализ
Эконом. теория
Эконом. предприятия
Финансы и кредит
Менеджмент
Маркетинг
• ТУСУРовцам
Юриспруденция
Право
Психология
Психологическая консультация
Математика
Исследование операций
Методы оптимизации
Физика
Радиотехника
Электроника
Схемотехника
Механика
Метрология
• Перефразирование
История
Английский
Другой предмет
Заготовки
• Каталог
Программирование
Экономика, Аудит
Бухгалтерский учёт
Финансы и кредит
Юриспруденция
Право
История
Психология
Механика
Информация
О сайте
Наши цены
Соглашение
Наши гарантии
Способы оплаты
Вопросы и ответы
Отзывы клиентов
Бонусы и скидки
Регистрация
Вакансии
Написать письмо
Мы работаем
ЕЖЕДНЕВНО
с 9:30 до 23:30 msk
Поиск по сайту
Разное
Архив заказов
Анекдоты
Облака тегов
Карточные игры
Преподы-монстры
Антиплагиат
Мысли вслух







Яндекс.Метрика











Лабораторная работа
Лабораторная работа №2. Сокеты, модель Postfix/apache. Лабораторная работа №3. Сокеты, многопоточный сервер.
в среде программирования GNU C++ pod Linux


Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: GNU C++ pod Linux

Название работы: Лабораторная работа №2. Сокеты, модель Postfix/apache. Лабораторная работа №3. Сокеты, многопоточный сервер.

Вид работы: Лабораторная работа

Описание: Лабораторная работа №2. Сокеты, модель Postfix/apache.

Изучить интерфейс сокетов в Юниксе (системные вызовы socket, bind, listen, accept, connect) и написать заданный вариантом сервер. Модель приложения должна быть аналогичной модели postfix/apache.
Сервер при приеме соединений должен порождать дочерние процессы, которые принимают запросы и выполняют их. Количество дочерних процессов должно быть ограничено. Каждый дочерний процесс после обработки одного клиента должен вместе с родительским процессом пытаться принимать следующие соединения. Количество клиентов, обслуживаемых одним дочерним процессов должно быть тоже ограниченно. После обслуживания максимального числа клиентов, дочерний процесс должен выйти, а родительский процесс, если к этому моменту количество дочерних процессов достигло максимума, должен продолжить принимать новые соединения.
Все детали протоколов разрабатываются студентами самостоятельно и согласуются с преподавателем. Сервер должен допускать только разумное поведение клиентов. Например, в третьем варианте недопускается ставить крестик и нолик на уже занятую клетку. И тому подобное.
Задание варианта: Сервер, вычисляющий простые арифметические выражения в обратной польской записи.
Сервер должен принимать выражения, содержащие операции +, -, *, /, по одному выражению на строку, вычислять их и посылать ответ, разрывать соединение после приема пустой строки. При приеме некорректного выражения, посылать ответ 'error'.

Лабораторная работа №3. Сокеты, многопоточный сервер.

Варианты:
1. Сервер обмена мгновенными сообщениями.
2. Сервер обмена сообщениями в режиме офлайн.
3. Игровой сервер. Клиенты играют в царя горы друг против друга.
Пояснения к заданиям
Во первом варианте достаточно реализовать простейший протокол: для приема и передачи сообщений клиент должен представиться (команда hello <name> ), а потом передавать сообщения командой send <recipient> <message> . Сообщения однострочные, передаются адресату, если он присоединен. При отсутствии адресата среди присоединившихся клиентов, отправляющему посылается сообщение об ошибке. Предусмотреть возможность просмотра списка присутствующих на сервере участников (команда who ). По команде bye сервер должен разрывать соединение.
Во втором варианте протокол аналогичен протоколу из первого варианта, но сообщения не посылаются адресату сразу, а записываются в специальные файлы (почтовые ящики). Командаwho необязательна. Для чтения сообщения предусмотреть команду receive, по которой сервер выдает накопившиеся сообщения и опустошает почтовый ящик.
В третьем варианте игра заключается в том, чтобы «сбросить с горы» всех противников. Каждый участник представляется командой hello <name>, после чего становится виден остальным участникам (по команде who). Командой kill <name> участник отсоединяет от сервера (сбрасывает с горы) противника. Выигрывает тот, кто кому удалось избавиться от всех противников.
Вариант №3. - Объектно-ориентированное программирование.

Лабораторные оформляются в виде одного cpp-файла, либо в виде нескольких cpp- и h-файлов. Программа должна компилироваться любым из широко распространенных компиляторов. При проверке могут использовать gcc версии 4.4 и выше и clang версии 3.1 и выше. Платформа может быть как 32-, так и 64-разрядной. Программа должна корректно работать под всеми широко-распространенными ОС, кроме, возможно, Windows (вы должны объяснить причину отказа от поддержки Windows). Проверка будет осуществляться под DragonFly BSD версии не ниже 3.0, FreeBSD версии не ниже 9.0 и Mac OS X, версии не ниже 10.8. Каждое использование директив препроцессора (кроме как для стражей включения звголовочных файлов) должно быть аргументировано и может повлечь снижение оценки.
Входные данные подаются на стандартный ввод в текстовом виде, результат должен печататься на стандартный вывод. Формат ввода и вывод жестко задан. Программа не должна выводить ничего, кроме того, что указано в задании. В задании могут указываться параметры командной строки. При неудачном завершении программы, код возврата должен отличаться от 0 и на стандартный вывод об ошибках должно выводиться короткое информативное сообщение об ошибке.

Год: 2013

<<< Назад к списку

Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2013-м году, в рамках этого заказа была разработана программа в среде программирования GNU C++ pod Linux. Если у Вас похожее задание на программу, которую нужно написать на GNU C++ pod Linux, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2013-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +7(937)424-22-35
Viber: +7(937)424-22-35
Telegram: +7(937)424-22-35
ВКонтакте: vk.com/kursovikcom
E-mail: info@kursovik.com
Skype: kursovik.com





ВНИМАНИЕ ! Сотрудники сайта KURSOVIK.COM в своей работе осуществляют сбор, обработку и обобщение информации по предложенным клиентам темам. Результатом данной работы является информационная подборка, которая НЕ ЯВЛЯЕТСЯ готовой НАУЧНОЙ РАБОТОЙ, она лишь служит основой для её написания самим клиентом.
Данный сайт НЕ ЯВЛЯЕТСЯ средством массовой информации.
Данный сайт НЕ ЯВЛЯЕТСЯ рекламой каких-либо товаров или услуг.
© 2001-2020 kursovik.com
➥ Оценить задание
➥ Контакты