DCOP

редактировать
Desktop Communication Protocol
Автор (ы) KDE
Разработчик (и) KDE
Операционная система Linux
Тип Демон IPC
Лицензия se GNU LGPL

Desktop CO munication P протокол (DCOP ) был межпроцессным взаимодействием (IPC) демон от KDE, используемый в K Desktop Environment 3. Целью разработки протокола было позволить приложениям взаимодействовать и совместно использовать сложные задачи. По сути, DCOP была системой «удаленного управления», которая позволяла приложениям или сценариям привлекать помощь других приложений. DCOP построен на основе протокола X11 Inter-Client Exchange.

DCOP по-прежнему используется в трех ветвях K Desktop Environment Trinity Desktop Environment. DCOP был заменен на D-Bus, система шины сообщений, на которую сильно повлиял DCOP и стандартизованная freedesktop.org в KDE Software Compilation 4 и более поздних версиях.

Модель DCOP

DCOP реализует модель клиент-сервер, где каждое приложение, использующее DCOP, является клиентом и взаимодействует с другими клиентами через сервер DCOP. Сервер DCOP функционирует как диспетчер трафика, отправляя сообщения / звонки по нужным адресатам. Все клиенты равны друг другу.

С DCOP возможны два типа действий: сообщения «отправить и забыть», которые не блокируются, и «вызовы», которые блокируют возврат некоторых данных.

Любые данные, которые будут отправлены, сериализуются (также называемые marshalling в CORBA Speak) с использованием встроенных операторов QDataStream, доступных во всех Qt классы. Также доступен простой компилятор, подобный IDL (dcopidl и dcopidl2cpp), который генерирует заглушки и скелеты. Использование компилятора dcopidl дает дополнительное преимущество: безопасность типов.

Существует инструмент командной строки под названием «dcop» (обратите внимание на строчные буквы), который можно использовать для связи с приложениями из оболочки. «Kdcop» - это инструмент GUI для исследования интерфейсов приложения.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • KDELibs - предшественник KDE Platform 4
Внешние ссылки
Последняя правка сделана 2021-05-16 08:41:24
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте