Скачиваний:
52
Добавлен:
01.05.2014
Размер:
246.27 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет

Кафедра МОЭВМ

Отчет по лабораторной работе №4.

Проектирование и реализация системы классов,

обеспечивающих обмен сообщениями

в объектно-ориентированной программе

Выполнил:

Студент гр.3352

Сергеев М. В.

Проверил:

Смольянинов А. В.

Санкт-Петербург

2006г.

  1. Содержательная (исходная) постановка задачи. Вариант 2.1.33

Разработать и испытать систему классов, обеспечивающих обмен сообщениями в объектно-ориентированной программе и являющихся самостоятельными компонентами, ориентированными на применение в других программах. Обмен сообщениями должен удовлетворять общим требованиям к механизму обмена и следующим требованиям:

Параметры задания

Схема передачи сообщений и значения параметров

Участник

Направление и вид передачи

Участник

Направление и вид передачи

Участник

Схема передачи сообщений

Клиент

Сервер

Клиент

Количество

1

Режимы

Один - одному

Один – одному

+

Один - всем

Подтверждение

нет

да

  1. Обмен сообщениями должен быть построен по схеме "почтовый клиент - почтовый сервер".

  2. Все почтовые клиенты обмениваются сообщениями только с помощью почтового сервера.

  3. Почтовый сервер осуществляет регистрацию почтовых клиентов.

  4. Почтовый сервер принимает сообщения только от зарегистрированных клиентов и отправляет сообщения только зарегистрированным клиентам.

  5. Отправляемое сообщение задает проблемное действие, которое должен выполнить получатель и, возможно, посылку отправителю подтверждения о получении сообщения и выполнении заданного действия.

  6. Схемами посылки и приема сообщений могут быть:

    1. односторонние: сервер-клиент, клиент-сервер

    2. двухсторонние: сервер-клиент-сервер, клиент-сервер-клиент.

  7. Для каждой пары участников обмена сообщениями задается режим вещания: моновещание (только указанному получателю) или широковещание (всем клиентам, всем серверам).

  1. Проектные решения

  • Для оправки будет использоваться класс CMsg. В нем будет три атрибута: кому (номер объекта, которому предназначается сообщение), от (номер объекта, от кого пришло сообщение) и само тело сообщения.

  • Тело сообщения будет играть роль команды. Команды можно занумеровать. Тогда удобнее использовать в качестве тела сообщения – номер команды (тип целое).

  • Подтверждение получения сообщения состоит в том, что при соответствии информации о получателе и своем номере, клиент возвращает (return функции прочтения) код 0, иначе код 1. При чтении сервером сообщения, если клиент не зарегистрирован на сервере, возвращаем код 2.

  • «Выполнение» команды из сообщения будет состоять в выводе сообщения на экран и отдельно тела сообщения - команды.

  • Сообщение создается один раз с полностью заполненными полями. В процессе работы с сообщениями, в нем ничего не меняется.

  • Список клиентов на сервере будет аналогичен списку, реализованному в предыдущих работах. Проблемной частью элементов списка будет ссылка на клиентов. Реализован список будет таким же образом, с тем лишь отличием, что при уничтожении списка, сами клиенты не должны удаляться.