для обмена информацией между приложениями служит
Тема. Обмен информацией между приложениями
Тема. Обмен информацией между приложениями
(В. Леонтьев. MS Office 2010)
Характерной особенностью функционирования программных приложений, составляющих MS Office, является возможность интегрирования данных, созданных одним из приложений (и не только, например, из Интернета) в документ другого приложения. Возможность трансформации данных, как правило, заложена в экранный интерфейс. Также создание объектов внутри одного из приложений средствами другого приложения существенно расширяет возможности и режимы работы. Таким образом, пакеты приложений MS Office образуют единую, объектно-ориентированную информационную среду и позволяют обмениваться объектами между собой.
Понятие составного документа
При создании документа часто возникает необходимость вставить в него фрагменты из документов, созданных в других приложениях. Например, текст, созданный в текстовом процессоре MS Word, может содержать графики, таблицы, подготовленные в Excel; рисунки, созданные в графическом редакторе Paint и пр. Можно создать документ, включающий в себя не только текст, графические изображения, таблицы, но также звуковое сопровождение (музыку, речь), и даже видеоролики. В результате появляется документ, содержащий данные разного типа, хотя внешне это не проявляется. Его можно печатать, хранить и производить с ним любые другие действия как с обычным документом, созданным в одной среде и содержащим однотипные данные. Документ, в котором объединены данные разного типа, созданные в разных приложениях, называется составным (интегрированным) документом (см. рис 1).
Рисунок Составной документ
Обмен данными — передача данных от одного объекта к другому. В результате этого процесса объекты могут изменяться, а также могут создаваться новые объекты, образующиеся из одного или нескольких существующих объектов.
Объектом называется произвольный элемент, созданный в каком-либо приложении, который можно поместить в файл другого приложения (например, в документ MS Word, рабочую книгу MS Excel и или базу данных MS Access).
Отметим, что объектами могут быть приложения, папки, документы, а передаваемыми данными — фрагменты документов, документы, файлы, папки, т.е. также объекты среды Windows.
Организация обмена данными
Обмен данными через Буфер обмена (Clipboard).
Бу́фер обме́на (англ. clipboard) – область оперативной памяти компьютера, в которой могут сохраниться данные различных форматов для переноса или копирования их между приложениями или частями одного приложения.
Буфер обмена (Clipboard) – это некоторая динамически изменяемая область памяти, способная хранить информацию в типовых форматах Windows.
Буфер обмена представляет собой утилиту (сервисную программу), предназначенную для промежуточного хранения информации, передаваемой одним приложением другому (или самому себе).
Во всех приложениях Windows схема работы с Буфером обмена стандартизирована. Обмен данными через буфер выполняется с помощью команд Вырезать, Копировать и Вставить на ленте Главная в группе команд Буфер обмена. Команда Вырезать помещает выбранный фрагмент текста в буфер, только при этом выделенный фрагмент из исходного текста удаляется. Команда Копировать помещает выбранный фрагмент текста в буфер, сохраняя его в оригинале. Все эти команды можно выполнить либо с помощью комбинаций «горячих клавиш» (CTRL/C для копирования и CTRL/X – для вырезания). Можно также воспользоваться услугами контекстного меню, тем более что Word 2010 в него включён ряд новых возможностей.
Параметры вставки
Для вставки фрагмента из Буфера обмена в Word 2010 предусмотрены сразу три копки с подзаголовком Параметры вставки:
Рисунок Параметры вставки Word 2010
Зачем так много? Всё просто: фрагменты, которые вы переносите в другой документ, могут быть оформлены совершенно по-разному, с использованием иных шрифтов, размера кегля и стилей.
Если вы хотите сохранить эти параметры, выберите первую кнопку – сохранить форматирование.
Если же вы хотите, чтобы «пришелец» не слишком выделялся среди прочих фрагментов и не делал текст похожим на лоскутное одеяло, его оформление нужно привести «к единому знаменателю» – в соответствии с конечным стилем всего документа. В этом случае выбираем вторую кнопку – объединить форматирование.
Наконец, третья кнопка вставки поможет вам в том случае, если вы случайно скопировали в Буфер текст с ненужным мусором – картинки, таблицы и так далее. Чаще всего это бывает при переносе в Word текста с веб-странички Интернета. Если вы хотите вставить в ваш документ только текст, без сохранения прочей шелухи, выберите третью кнопку – сохранить только текст [Леонтьев В.П. Office 2010. Карманный справочник. – М.: ОЛМА Медиа Групп, 2010. – 608 с.]
Команда Специальная вставка позволяет выбрать формат данных, в котором они вставятся из буфера обмена. Работа с данной командой будет рассмотрена ниже.
Буфер обмена данными поддерживает схему обмена, приведённую на рис.3. В Приложении 1 выделяется нужный фрагмент, который копируется в буфер обмена с помощью команды меню Правка/Копировать (или кнопка на панели инструментов). Затем содержимое буфера вставляется с помощью команды Правка/Вставить (кнопка на панели инструментов) в нужном месте Приложения 2.
Более ранних версиях Word`а вновь копируемое в буфер содержимое, стирало его предыдущее содержимое. Но, начиная с Microsoft Office 2003, буфер в Microsoft Office может хранить одновременно от 1 до 24 элементов.
Помимо команд «Copy» и «Вырезать» для заполнения буфера можно использовать нажатие клавиши «Print Screen«. Обычно при этом в буфер будет помещена полная копия экрана. Получить копию только активного окна можно нажав комбинацию клавиш Alt+PrtScr.
Копия экрана всегда получается в графическом формате, даже если на экране только текст и как всякое содержимое буфера обмена, может быть вставлена в документы, допускающими графические фрагменты. Например, если захотим вставить рис. 1. в Блокнот, то вставки не произойдёт, так как редактор (приложение, программа) Блокнот не поддерживает графический формат.
Обмен объектами с помощью мыши
Технологии внедрения и связывания объектов DDE и OLE
Основные понятия и определения. Прежде чем приступить к другим методам обмена данными между приложениями рассмотрим новые понятия и определения.
Файл-контейнер — это файл, принимающий объект (например, копию фрагмента документа). Например, если связать диаграмму, выполненную в Excel `е с документом Word (иначе поместить диаграмму Excel в документ Word ), то Word-документ является файлом-контейнером
Таким образом, среда Windows предоставляет пользователю средства для сведения в одном документе разнородных частей в рамках DDE – технологии. Обмен объединёнными частями через буфер промежуточного хранения обеспечивает и автоматическое преобразование форматов. Динамический обмен позволяет в любой момент времени иметь «свежий» документ.
Кажется всё хорошо. Но остаются некоторые существенные трудности, которые являются непреодолимыми:
Обмен данными с использованием OLE-технологии
Более гибким способом обмена данными между приложениями Windows является технология OLE (англ. Object Linking and Embedding – произносится как oh-lay [олэй]) – связывание и внедрение объектов. Технология OLE – это возможность использовать в одном документе объекты разного происхождения, например, текст, фотографии, музыку и т.д. Основное достоинство технологии OLE состоит в том, что она позволяет организовать передачу данных практически между любыми приложениями. Технология OLE определяется правилами (протоколом) взаимодействия Windows-приложений.
OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений с помощью OLE-технологии.
Технология OLE — механизм связывания и встраивания объектов (механизм работы с составными документами — Object Linking and Embedding).
Технология OLE обеспечивает пользователю возможность редактировать вставленный в составной документ средствами, которые предоставляет приложение-источник. OLE–объект всегда сохраняет связь с приложением-источником (эта связь активизируется двойным щелчком по вставленному фрагменту).
Технология внедрения нового объекта в Word OLE-серверами:
Текстовый процессор представляет собой сложный комплекс и фактически включает в себя несколько приложений: редактор рисунков, редактор формул, текстовый редактор и др.
Эти приложения по-разному используют технологию OLE. Редактор формул действует только как приложение-источник (OLE-сервер), а текстовый редактор может выступать как в роли источника, так и в роли приемника (OLE-клиента). Просмотреть список действующих в системе OLE-серверов можно, выполнив последовательность действий: выбираем вкладку Вставка, в группе команд Текст выбираем кнопку Объект и щёлкаем по ней мышкой. Откроется список команд Объект… и Текст из файла (см. рис. 5).
Выбираем из этого списка команду Объект. Открывается окно Вставка объекта. В окне Тип объекта вкладки Создание мы видим список программ, это так называемые OLE-серверы, которые обеспечивают услугами приложение Word (см. рис3). Примеры OLE-серверов: MS Equation (Редактор формул) — является OLE-сервером, создание эффектов WordArt, вставка Рисунок MS WORD, Excel и т.п. Отметим, что в Word`е 2007 приложения Рисунок MS WORD нет. Таким образом, в диалоговом окне «Вставка объекта» выбирается тип внедряемого объекта, т.е. приложение-источник.
Рассмотрим примеры, использования OLE-серверов.
Пример 1. Вставить в текст формулу Ньютона-Лейбница, используя редактор формул.
Рис. 7. Формула Ньютона-Лейбница, набранная в редакторе формул
Пример 2. Вставить в Word таблицу, используя Лист Microsoft Office Excel.
Рис. 8. Окно Вставка объекта и выбор Лист Microsoft Office Excel
Рис. 9. Таблица, созданная с использованием OLE-приложения Лист Microsoft Office Excel
Выводы. Что дают OLE-приложения пользователю? Главное – это не имея специальных программ (Excel, редактора формул, построения диаграмм и т.д.), можно решить простейшие задачи, связанные с вставкой таблиц, диаграмм и т.д.
Связывание и внедрение с помощью команды Специальная вставка
Самым простым способом практической реализации механизма связывания и внедрения объектов является использование команды Специальная вставка. В Word 2007/2010 — команда Главная/Вставить/Специальная вставка (рис. 10).
Рис. 10. Выбор команды Специальная вставка
(слева в Word 2007, справа в Word 2010)
Отметим, что использование команды Вставить для вставки объекта в документ приводит к установке его копии, при этом не сохраняется никаких данных об его источнике. В противоположность этой команде использование команды Специальная вставка позволяет сохранить о нём некоторые дополнительные сведения, как части файла-источника и выбрать соответствующий формат внедряемого объекта. В эти сведения входит имя исходного файла и его местоположение, программа-сервер и положение объекта в исходном файле. Благодаря этим дополнительным сведениям становится возможным изменение внедрённого объекта при изменении исходного файла.
Рис. 11. Окно Специальная вставка
Связать — этот параметр доступен только тогда, если содержимое буфера обмена может быть связано с исходным файлом. Следовательно, если мы выбрали в списке КАК формат Объект-приложение, мы имеем возможность вызвать приложение-источник из файла-приёмника (в этом случае приложение-источник вызывается «полностью»), т.е. как будто мы открыли приложение источник самостоятельно. Далее мы редактируем объект (фрагмент в источнике-приложении) и возвращаемся в файл-контейнер. Изменения, сделанные в файле-источнике, автоматически (или по требованию), будут отображены в файле-контейнере. Таким образом, мы здесь имеем DDE-технологию, но вызов приложения-источника происходит по технологии OLE (мы вызываем приложение-источник из файла-контейнера). Такая технология будет использована для форматов Точечный рисунок, Рисунок (метафайл Windows) и Метафайл (Windows EMF)
Для других выбранных форматов из списка КАК будет использована DDE-технология (например, формат HTML, Текст в формате RTF).
ВНИМАНИЕ. Для того, чтобы посмотреть какая технология будет реализована при выборе параметров (Вставить и Связать) нужно установить указатель мыши на список форматов и внизу окна в разделе Результат будет отображаться информация о том какая будет реализована технология обмена данными между приложениями.
Рис. 12. Окно Специальная вставка Формат HTML, режим Вставить
Рис. 13. Окно Специальная вставка Лист MS Office Excel (объект), режим Вставить
Внедрение и связывание файлов
Рис. 14. Выбор команды Текст из файла
Рассмотрим пример. Пусть у нас имеется два файла: file1.doc и file2.doc. Требуется вставить содержимое документа file2.doc в документ file1.doc.
Открываем документ file1.doc и указываем место вставки файла. Выполняем команду Вставка/Текст/Объект/Текст из файла, в результате которой появится диалоговое окно Вставка файла (см. рис. 15);
Рис. 15. Диалоговое окно «Вставка файла». Выбран файл file2.docx
Выбираем документ file2.doc и щелкаем левой кнопкой мыши по стрелке в правом нижнем углу данного окна. В сплывающее меню выбираем нужную команду (Вставить или Вставить как ссылку, см. рис. 15).
Если мы выберем команду Вставить, то у нас будет внедрение файла file2.doc (как через Буфер обмена, с использованием команды Копировать/Вставить), см. файл file12.doc.
Если мы выберем команду Вставить как ссылку, то у нас будет внедрение-связь файла file2.doc. В данном случае будет реализована технология DDE. см. файл file12.doc. Если щелкнуть мышкой по вставленному фрагменту, то фрагмент будет выделен серым цветом.
Откроем файл file2.doc и изменим, например, цвет текста на красный. Возвращаемся в файл file1.doc. Щелкаем мышкой по вставленному фрагменту, фрагмент выделится серым цветом. Вызываем контекстное меню и выбираем команду Обновить поле (см. рис. 16)
Рис. 16. Команда Обновить поле
Во вставленном фрагменте измениться цвет букв на красный цвет, см. файл file123.doc.
Выводы. Режим Вставка файла позволяет сделать два вида вставки файла:
Рис. 17. Выбираем закладку Создание из файла в окне «Вставка объекта»
Рис. 18. Выбор файла file2.doc через окно «Обзор»
Рассмотрим пример. Пусть у нас имеется два файла: file1.doc и file2.doc. Требуется вставить содержимое документа file2.doc в документ file1.doc.
Открываем документ file1.doc и указываем место вставки файла. Выполняем команду Вставка/…/Объект. В окне Обзор находим файл file2.doc (рис. 18) и щелкаем по кнопке Вставить (в правом нижнем углу окна Обзор). Появится снова окно Вставка объекта, см. рис. 19. Щелкаем по кнопке ОК и файл file2.doc будет вставлен в файл file1.doc.
Рис. 19. Файл file2.doc выбран.
Первый вариант. Позволяет нам внедрить файл без связи с источником. Это аналогично команде Выделить все/Копировать/Вставить (в Word 2003). В Word 2007 связи нет, но работает технология OLE. Смотри на рис 19. раздел Результат.
Второй вариант. Если поставить флажок в квадратике напротив Связь с файлом, будет вставлено содержимое файла file2.doc. Его можно будет редактировать, используя приложение, в котором он был создан. В данном случае реализуется OLE – технология. Связь существует. Смотри раздел Результат на рис. 20.
Рис. 20. Окно Вставка объекта. Флажок Связь с файлом
Третий вариант. Если поставить флажок в квадратике напротив В виде значка, будет вставлен значок файла file2.doc в документ file1.doc (см. рис. 21, 22). Его (вставленный файл) можно будет просматривать или редактировать, используя приложение, в котором он был создан, дважды щелкнув мышкой по значку.
Рис. 21. Окно Вставка объекта. Флажок В виде значка
Рис. 22. Результат вставки файла file2 в файл file1. Вариант В виде значка
Рис. 23. Контекстное меню. Вариант В виде значка
Четвёртый вариант. Если поставить флажки в квадратике напротив В виде значка и Связать с файлом, будет вставлен значок файла file2.doc в документ file1.doc (см. рис. 24, 25). Его (вставленный файл) можно будет просматривать или редактировать, используя приложение, в котором он был создан, дважды щелкнув мышкой по значку.
Рис. 24. Окно Вставка объекта. Флажки Связь с файлом и Ввиде значка
Рис. 25. Результат вставки файла file2 в файл file1. Вариант Связь с файлом и В виде значка
Рис. 26. Контекстное меню. Вариант Связать и В виде значка
Когда объект связан, данные при изменении исходного файла могут обновляться. Связанные данные хранятся в исходном файле. Файл Word, или конечный файл, хранит только путь к исходному файлу и отображает представление связанных данных. Если размер файла принимается во внимание, пользуйтесь связанными объектами.
Связывание полезно также, когда требуется включить в документ данные, которые поддерживаются независимо, как, например, данные, собираемые другим отделом, или когда необходимо поддерживать в документе Word новейшие данные.
Когда объект Excel внедрен, данные в файле Word при изменении исходного файла Excel не изменяются. Внедренные объекты становятся частью файла Word, и после того как они вставлены, объекты больше не являются частью исходного файла.
Обмен данными между процессами
операционная система Windows предоставляет механизмы для облегчения обмена данными и совместного использования данных между приложениями. В совокупности действия, которые поддерживаются этими механизмами, называются взаимосвязями (IPC). Некоторые формы IPC упрощают разделение труда между несколькими специализированными процессами. Другие формы IPC облегчают разделение труда между компьютерами в сети.
Как правило, приложения могут использовать IPC категории «клиенты» или «серверы». Клиент — это приложение или процесс, запрашивающий службу от какого-либо другого приложения или процесса. Сервер — это приложение или процесс, отвечающий на запрос клиента. Многие приложения действуют как клиент и сервер в зависимости от ситуации. Например, приложение для обработки текстов может выступать в качестве клиента в запросе сводной таблицы производственных затрат из приложения электронной таблицы, выступающего в качестве сервера. Приложение электронной таблицы, в свою очередь, может работать в качестве клиента при запросе последних уровней инвентаризации от приложения управления инвентаризацией.
После принятия решения о том, что приложение будет выгодным из IPC, необходимо решить, какой из доступных методов IPC использовать. Скорее всего, приложение будет использовать несколько механизмов IPC. Ответы на эти вопросы определяют, может ли приложение использовать преимущества одного или нескольких механизмов IPC.
Windows поддерживает следующие механизмы IPC:
Использование буфера обмена для IPC
Буфер обмена выступает в качестве центрального депозита для совместного использования данных между приложениями. Когда пользователь выполняет операцию вырезания или копирования в приложении, приложение помещает выбранные данные в буфер обмена в одном или нескольких стандартных или определенных форматах приложения. Затем любое другое приложение может получить данные из буфера обмена, выбрав из доступных форматов, которые он понимает. Буфер обмена — это очень слабо связанный носитель Exchange, где приложения должны быть согласованы только с форматом данных. Приложения могут находиться на одном компьютере или на разных компьютерах в сети.
Ключевой момент: Все приложения должны поддерживать буфер обмена для тех форматов данных, которые они понимают. Например, текстовый редактор или текстовый процессор должен иметь по крайней мере возможность создавать и принимать данные из буфера обмена в формате чистого текста. Дополнительные сведения см. в разделе буфер обмена.
Использование COM для IPC
Приложения, использующие OLE для управления составными документами, то есть документы, состоящие из данных различных приложений. OLE предоставляет службы, облегчающие приложениям вызов в других приложениях для редактирования данных. Например, текстовый процессор, использующий OLE, может внедрить граф из электронной таблицы. Пользователь может автоматически запустить электронную таблицу с помощью текстового процессора, выбрав внедренную диаграмму для редактирования. OLE берет на себя запуск электронной таблицы и представление графа для редактирования. Когда пользователь закрывает электронную таблицу, диаграмма будет обновлена в исходном документе текстового процессора. Электронная таблица является расширением текстового процессора.
Основой OLE является объектная модель компонента (COM). Программный компонент, использующий COM, может взаимодействовать с множеством других компонентов, даже если они еще не были написаны. Компоненты взаимодействуют как объекты и клиенты. Распределенная модель COM расширяет модели программирования COM таким образом, чтобы она работала по сети.
Ключевой момент: OLE поддерживает составные документы и позволяет приложению включать внедренные или связанные данные, которые при выборе автоматически запускают другое приложение для редактирования данных. Это позволяет расширить приложение с помощью любого другого приложения, использующего OLE. Объекты COM предоставляют доступ к данным объекта через один или несколько наборов связанных функций, известных как интерфейсы. дополнительные сведения см. в разделе COM и ActiveX службы объектов.
Использование копирования данных для IPC
Ключевой момент: копирование данных можно использовать для быстрой отправки сведений в другое приложение с помощью Windows messaging. Дополнительные сведения см. в разделе копирование данных.
Использование DDE для IPC
DDE — это протокол, позволяющий приложениям обмениваться данными в различных форматах. Приложения могут использовать DDE для одноразовых обменов данными или для текущих обменов, в которых приложения обновляются по мере появления новых данных.
Форматы данных, используемые DDE, совпадают с форматами, используемыми в буфере обмена. DDE можно рассматривать как расширение механизма буфера обмена. Буфер обмена почти всегда используется для одноразового ответа на пользовательскую команду, например для выбора команды вставить в меню. DDE также обычно инициируется пользователем с помощью пользовательской команды, но часто остается без вмешательства пользователя. Кроме того, можно определить пользовательские форматы данных DDE для особого целевого IPC между приложениями с более тесно связанными требованиями к обмену данными.
Обмен DDE может происходить между приложениями, запущенными на одном компьютере, или на разных компьютерах в сети.
Ключевой момент: DDE не так эффективнее, как новые технологии. Тем не менее можно по-прежнему использовать DDE, если другие механизмы IPC не подходят или если необходимо взаимодействовать с существующим приложением, которое поддерживает только DDE. дополнительные сведения см. в разделе платформа динамических данных Exchange и платформа динамических данных библиотеки управления Exchange.
Использование сопоставления файлов для IPC
Сопоставление файлов позволяет процессу обрабатывать содержимое файла так, будто он был блоком памяти в адресном пространстве процесса. Процесс может использовать простые операции с указателями для проверки и изменения содержимого файла. Когда двум или более процессам выполняется доступ к одному сопоставлению файлов, каждый процесс получает указатель на память в своем собственном адресном пространстве, который может использоваться для чтения или изменения содержимого файла. Для предотвращения повреждения данных в многозадачной среде процессы должны использовать объект синхронизации, например семафор.
Для предоставления именованной общей памяти между процессами можно использовать особый вариант сопоставления файлов. При указании файла подкачки системы при создании объекта сопоставления файлов объект сопоставления файлов рассматривается как блок общей памяти. Другие процессы могут получить доступ к тому же блоку памяти, открыв тот же объект сопоставления файлов.
Сопоставление файлов является довольно эффективным, а также предоставляет поддерживаемые атрибуты безопасности операционной системы, которые могут помочь предотвратить несанкционированный повреждение данных. Сопоставление файлов может использоваться только между процессами на локальном компьютере. его нельзя использовать по сети.
Ключевой момент: Сопоставление файлов является эффективным способом для двух или более процессов на одном компьютере для совместного использования данных, но необходимо обеспечить синхронизацию между процессами. Дополнительные сведения см. в разделе Сопоставление файлов и Синхронизация.
Использование слота для IPC
Маилслотс обеспечивают односторонний обмен данными. Любой процесс, создающий почтовый слот, — это сервер слота сообщений. Другие процессы, называемые клиентами слота, отправляют сообщения на сервер слота, записывая сообщение в почтовый слот. Входящие сообщения всегда добавляются в почтовый слот. Почтовый слот сохраняет сообщения до тех пор, пока сервер слота не прочитает их. Процесс может быть как сервером слота, так и клиентом слота, поэтому двустороннее взаимодействие возможно с помощью нескольких маилслотс.
Клиент слота сообщений может отправить сообщение в почтовый слот на локальном компьютере, в почтовый слот другого компьютера или на все маилслотс с тем же именем на всех компьютерах в указанном сетевом домене. Сообщения, передаваемые во все маилслотс в домене, не могут быть длиннее 400 байт, а сообщения, отправляемые в один почтовый слот, ограничиваются только максимальным размером сообщения, указанным сервером слота при создании слота.
Ключевой момент: Маилслотс предлагают пользователям простой способ отправки и получения коротких сообщений. Они также предоставляют возможность рассылать сообщения между всеми компьютерами в сетевом домене. Дополнительные сведения см. в разделе маилслотс.
Использование каналов для IPC
Существует два типа каналов для двусторонней связи: анонимные каналы и именованные каналы. Анонимные каналы позволяют связанным процессам передавать данные друг другу. Как правило, анонимный канал используется для перенаправления стандартного ввода или вывода дочернего процесса, чтобы он мог обмениваться данными с родительским процессом. Для обмена данными в обоих направлениях (дуплексная операция) необходимо создать два анонимных канала. Родительский процесс записывает данные в один канал, используя его маркер записи, в то время как дочерний процесс считывает данные из этого канала, используя его маркер чтения. Аналогичным образом дочерний процесс записывает данные в другой канал, а родительский процесс считывает из него. Анонимные каналы не могут использоваться по сети и не могут использоваться между несвязанными процессами.
Именованные каналы используются для обмена данными между процессами, которые не являются связанными процессами и между процессами на разных компьютерах. Как правило, серверный процесс именованного канала создает именованный канал с известным именем или именем, которое должно обмениваться с клиентами. Клиентский процесс именованного канала, который знает имя канала, может открыть его другой конец с учетом ограничений доступа, заданных процессом сервера именованных каналов. После того как сервер и клиент подключены к каналу, они могут обмениваться данными, выполняя операции чтения и записи в канале.
Ключевой момент: Анонимные каналы предоставляют эффективный способ перенаправлять стандартные входные или выходные данные в дочерние процессы на том же компьютере. Именованные каналы предоставляют простой программный интерфейс для передачи данных между двумя процессами независимо от того, находятся ли они на одном компьютере или по сети. Дополнительные сведения см. в разделе каналы.
Использование RPC для IPC
RPC позволяет приложениям вызывать функции удаленно. Таким образом, RPC делает IPC проще, чем вызов функции. RPC работает между процессами на одном компьютере или на разных компьютерах в сети.
RPC, предоставляемый Windows, соответствует требованиям к распределенным вычислительным средам (использование) Open Software Foundation (DCE). Это означает, что приложения, использующие RPC, могут взаимодействовать с приложениями, работающими с другими операционными системами, поддерживающими DCE. RPC автоматически поддерживает преобразование данных для учета различных архитектур оборудования и для упорядочения байтов между разнородными средами.
Клиенты и серверы RPC тесно связаны, но по-прежнему поддерживают высокую производительность. Система активно использует RPC для упрощения связи между клиентом и сервером между различными частями операционной системы.
Ключевой момент: RPC — это интерфейс уровня функции с поддержкой автоматического преобразования данных и взаимодействия с другими операционными системами. С помощью RPC можно создавать высокопроизводительные распределенные приложения с высоким уровнем производительности. Дополнительные сведения см. в разделе компоненты Microsoft RPC.
использование сокетов Windows для IPC
Windows Сокеты — это независимый от протокола интерфейс. В нем используются возможности связи базовых протоколов. в сокетах Windows 2 при необходимости можно использовать обработчик сокетов в качестве файла с стандартными функциями файлового ввода-вывода.
Windows Сокеты основаны на гнездах, которые впервые популярны по Berkeley Software Distribution (BSD). приложение, которое использует сокеты Windows, может взаимодействовать с другой реализацией сокета в других типах систем. Однако не все поставщики транспортных служб поддерживают все доступные варианты.
ключевой момент: Windows сокеты — это независимый от протокола интерфейс, поддерживающий текущие и новые сетевые возможности. дополнительные сведения см. в разделе сокеты Windows 2.