Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы Мартын 1(ComCorbaLab2004).doc
Скачиваний:
30
Добавлен:
10.02.2016
Размер:
1.81 Mб
Скачать

6.4. Индивидуальные задания на работу

6.4.1. Общее задание для всех студентов.Проверить наличие библиотекиWSOCK32.DLLи зарегистрировать приложение в библиотеке, определить описание реализации интерфейсаWindowsSocketи его текущее состояние.

6.4.2. Индивидуальное задание для каждого студента.Подготовить приложение к созданию четырех сокетов - двух датаграммных сокетов и двух сокетов виртуального канала, с максимальным размером датаграммного пакета, равным числу из последних трех цифр номера зачетной книжки студента. Формат адреса соответствует принятому вInternet.

6.4.3. Индивидуальное задание для каждого студента.Задать параметры сокетов, подготовив структуры типаsockaddr. Предусмотреть возможность работы: в широковещательном режиме для первого сокета; с определеннымиIP-адресами для второго и третьего сокетов, равными соответственно «192.168.ZZZ.1ХХ» и «192.168.ZZZ.1ХХ+1», гдеZZZ– номер подсети, указанный преподавателем, ХХ – последние две цифры номера зачетной книжки студента; с любым адресом для четвертого сокета.

6.4.4. Индивидуальное задание для каждого студента.В файлеHOSTSопределить четыре доменных имени для собственной рабочей станции и другой рабочей станции с номером, равным «№-1», где «№» - номер собственной рабочей станции (при «№-1», равном нулю, номер другой станции принимается равным «8»). В состав доменных имен ввести собственные инициалы. Имена связать с локальными датаграммным и виртуальным адресами «192.168.ZZZ.1ХХ» и «192.168.ZZZ.1ХХ+1», а также с удаленными датаграммным и виртуальным адресами «192.168.ZZZ.1ХХ+2» и «192.168.ZZZ.1ХХ+3». Выполнить с помощью функцииgethostbynameполучение указателей на структуры, характеризующие имена и адреса узлов.

6.4.5. Общее задание для всех студентов.Выполнить привязку всех подготовленных адресов и сокетов. Спровоцировать возврат функциейbindзначенияSOCKET_ERRORпо причине:

Код ошибки Описание

WSANOTINITIALISEDПеред использованием функции необходимо вызвать функциюWSAStanup

WSAENETDOWNСбой в сети

WSAEADDRINUSEУказанный адрес уже используется

WSAEFAULTЗначение параметраnamelenменьше размера структурыsockaddr

WSAEINPROGRESSВыполняется блокирующая функция интерфейсаWindowsSockets

WSAEAFNOSUPPORTЭтот протокол не может работать с указанным семейством адресов

WSAEINVALСокет уже привязан к адресу

WSAENOBUFSУстановлено слишком много соединений

WSAENOTSOCKУказанный в параметре дескриптор не является сокетом

6.4.6. Общее задание для всех студентов.Для освобождения ресурсов последовательно закрыть все сокеты и завершить работу приложения сWindowsSockets.

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

Лабораторная работа № 7. Прикладная задача связи

Да здравствует практика! Для того чтобы разработать собственное CORBA-приложение, знаний у вас достаточно. Поэтому за дело, а все возможные тонкости технологии CORBA и практическую сторону их применения изучим по ходу.

7.1. Постановка задачи

мы с вами создадим ни много ни мало... систему сотовой связи! Не нужно вздрагивать, конечно же, это будут отдельные весьма упрощенные фрагменты системы с небольшой степенью детализации, достаточной, однако, для понимания материала. Более того, не имея представления о том, как в действительности работает сотовая связь, очень надеемся, что специалисты в области телекоммуникаций не будут судить нас строго — это всего лишь пример. Мы просто разработаем свой стандарт, особенностью которого будет то, что все в системе, включая мобильные телефоны и радиостанции-»соты», работает на основе CORBA, т. е. «прошитое» программное обеспечение этих устройств превращает заурядные приемопередатчики в незаурядные объекты CORBA. Само собой разумеется, обмен данными между всей аппаратурой происходит по принятому в CORBA протоколу IIOP с использованием радиоканала. Оно и удобно, ведь по сути своей «хозяйство» провайдера услуг сотовой связи — это огромная компьютерная сеть, в которой есть центральный сервер (административная консоль и хранилище различных данных), маршрутизаторы («соты») и клиентские терминалы (телефоны). Так что можно считать, что со многими понятиями вы уже знакомы.

Рис. 7.1.

Функционирует система следующим образом (см. рис. 7.1.). Администратор запускает приложение системной консоли, производящее внутреннюю инициализацию и устанавливающее параметры сотовых станций. Система настраивает имена «сот», с которыми работает администратор, и разрешает им начать обслуживание клиентов. С этого момента система позволяет абонентам звонить, получать счета и проводить удаленную оплату, а администратор получает в свое распоряжение консоль, с помощью которой он управляет работой всего оборудования. На рис. 7.2. показана совокупность функций, которые администратор выполняет с помощью консольного интерфейса.

Рис. 7.2.

Сотовые станции проделывают в нашем проекте много полезной работы. Они включаются независимо от системы, но начинают выполнять свои функции только после того, как придет соответствующая команда. До этого же момента они находятся в ждущем режиме. Множество функций сотовой станции изображено на рис. 7.3.

Рис. 7.3.

Сотовые телефоны в нашей системе — не самые интеллектуальные устройства. Их задача сводится, по сути дела, к непрерывному излучению радиосигналов: сигналов с передаваемыми и принимаемыми данными либо тестового сигнала, которым телефон проверяет канал связи: вышел ли он из зоны приема. Ну и конечно же, телефон служит пультом для ввода телефонных номеров других абонентов. Полный набор функций вы можете увидеть на рис. 7.4.

Рис. 7.4.

Следует отметить, что и сотовая станция и телефон имеют уникальные 64-битовые целочисленные идентификаторы, представленные IDL-типом unsigned long long. Будем считать, что это номер, жестко «прошиваемый» производителем оборудования.

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