Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие по СПр.doc
Скачиваний:
6
Добавлен:
16.12.2018
Размер:
690.69 Кб
Скачать

1.6.3 Контрольные вопросы к лабораторной работе 6

  1. Расшифруйте аббревиатуру COM как технологию межпрограммного обмена данными. Поясните возможности технологии для прикладного и системного программиста.

  2. Что такое COM-сервер и COM-клиент?

  3. Какую роль играют интерфейсы при организации обмена данными между COM-клиентом и COM-сервером? В чем отличие в целях и реализации применения интерфейсов в обычном объектно-ориентированном программировании?

  4. Что такое «библиотека COM» в операционной системе? Каковы цели ее организации и ка-кие функции она содержит? Опишите назначение и параметры функции CoCreateInstance.

  5. Нарисуйте схему вызова COM-сервера и создание COM-объекта с использованием вызова соответствующей функции библиотеки COM и реестра.

  6. Каковы параметры вызова функций CreateComObject и CreateOleObject, в чем разница работы этих функций и значения каких типов они возвращают? Конструкторы каких классов используют их в своих реализациях?

  7. Какие виды COM-серверов вы знаете? Охарактеризуйте их.

  8. Какой вызов метода обязательно располагается в разделе Initialize юнита, реализующего класс COM-объекта в проекте сервера и каковы параметры его вызова?

  9. Что такое CoClass, зачем он нужен, где находится его объявление и реализация конструк-торов? Что содержится в реализации конструкторов?

  10. Что такое фабрика класса, зачем она нужна, где и когда создается объект ее класса?

  11. Что такое маршаллинг, какую часть работы технологии COM он обеспечивает?

  12. Каким образом (два варианта) клиентское приложение может узнать доступные типы данных, методы и свойства СОМ-сервера?

  13. Что такое библиотека типов, на каком языке пишется исходный ее текст, в каком виде она обычно хранится и может ли она быть импортирована в проект Delphi? Обязательно ли она нужна в составе проекта клиента?

  14. Опишите возможности редактора библиотеки типов в Delphi.

  15. Кратко опишите содержимое юнита библиотеки типов, получаемой при создании СОМ-сервера в Delphi.

  16. Какие спецификации (разновидности реализации и использования) имеет COM-технология?

  17. Являются ли CreateComObject и CreateOleObject функциями Windows API?

  18. Как называется интерфейс, существующий по умолчанию у всех COM-объектов и с помощью которого можно получить указатель на любой другой интерфейс объекта?

  19. При установке использующего СОМ приложения какая информация записывается в системный реестр обо всех предоставляемых им объектах СОМ?

  20. Укажите используемые виды COM-серверов.

2 Вопросы для текущего контроля знаний по темам

  1. Перечислите технологии межпрограммного обмена данными в очередности их возникновения и с указанием возможности обмена между приложениями на различных компьютерах.

  2. Каковы цели межпрограммного обмена данными в динамическом режиме? Приведите примеры, в каких случаях это необходимо.

  3. Какова структура данных сообщения и какие данные содержат ее поля? Что порождает сообщения и какой программный комплекс занимается рассылкой сообщений по очередям? Какие очереди сообщений вы знаете?

  4. С помощью каких функций Windows API можно организовать посылку сообщения окну данного потока или окну другого потока? Какие виды сообщений можно послать?

  5. Каким образом в Delphi можно организовать обработку нестандартного сообщения (двумя различными методами класса формы)?

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

  7. Какой максимальный объем данных можно передать с помощью обычного сообщения? Какое сообщение позволяет передавать большие объемы данных?

  8. Опишите назначение полей сообщения WM_COPYDATA.

  9. Что такое атомы? Зачем их использовать, например, при работе DDE?

  10. Какие виды атомов используется при обмене данными между приложениями в DDE?

  11. Где и зачем используется протокол обмена данными DDE?

  12. Перечислите 9 сообщений протокола DDE.

  13. Нарисуйте схему обмена сообщениями для установления связи между клиентом и сервером и обмена данными в рамках технологии DDE.

  14. Какие функции Windows API для посылки сообщения используются для установления связи в DDE, а какой для обмена сообщениями после установки связи?

  15. Какова схема надстроек программных средств над протоколом DDE в операционной системе и средстве разработки (на примере Delphi)?

  16. Какой протокол межпрограммного обмена данными построен как дальнейшее развитие DDE?

  17. Что такое conversation, topic, item при организации DDE и зачем они нужны?

  18. В чем разница между работой сервера и клиента DDE?

  19. Каково назначение компонентов TddeServerConv и TddeServerItem?

  20. Каково назначение компонентов TddeClientConv и TddeClientItem?

  21. Что такое «объект файлового отображения»? Какая функция используется для его создания? Может ли этот объект использовать обыкновенный файл на диске?

  22. Какие функции используются для подключения адресного пространства процесса к созданному другим приложением объекту файлового отображения? А для отключения?

  23. В чем достоинства использования для обмена данными файла, отображаемого в память, по сравнению с обычным записью и чтением в файл?

  24. В чем недостатки использования для обмена данными файла, отображаемого в память, по сравнению с обычным записью и чтением в файл?

  25. Что такое каналы в UNIX и Windows, каков принцип их работы?

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

  27. Какие два вида каналов вы знаете? Можно ли их использовать для связи между приложениями, работающими на различных хостах?

  28. В чем разница между сервером и клиентом с точки зрения создания и использования каналов?

  29. Какие режимы открытия каналов и работы каналов вы знаете?

  30. Возможна ли необходимость асинхронного ввода-вывода при работе с каналами и каким образом она реализуется?

  31. Каким образом программист может подождать завершения работы с каналом, как, собственно, и завершения любого асинхронного вывода-вывода?

  32. Какую структуру данных с созданием какого объекта синхронизации надо организовать для асинхронного вывода-вывода в канале (как, собственно, и в другом устройстве ввода-вывода)?

  33. Что такое хост? Может ли на компьютере быть несколько хостов? Как нумеруются хосты и что такое порты, по которым ведется соединение?

  34. Что такое UNC (Universal Naming Conventional) и каким образом в соответствии с ним даются имена хостам и каналам? С помощью какой системы осуществляется поддержка соответствия имен хостов и IP-адресов?

  35. На каком уровне семиуровневой архитектуры OSI находятся сокеты и между какими другими уровнями? Какие в связи с этим у них преимущества?

  36. Что такое сокет по своей сущности и с точки зрения системного программиста? Какой API сокетов поддерживается в настоящий момент в Windows?

  37. В чем разница между функционированием серверного сокета и клиентского сокета? Возможна ли ситуация асинхронного ввода-вывода при работе с сокетами?

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

  39. Какие возможности предоставляет разработчику компонент Delphi TServerSocket?

  40. Какие возможности предоставляет разработчику свойство Socket: TServerWinSocket компонента Delphi TServerSocket?

  41. Какие возможности предоставляет разработчику компонент Delphi TClientSocket?

  42. Какие возможности предоставляет разработчику свойство Socket: TClientWinSocket компонента Delphi TClientSocket?

  43. В чем смысл задания блокирующего и неблокирующего (асинхронного) типа сокетов? В каком случае необходимо создание отдельного потока для работы с сокетом?