Spec-Zone.ru › Qt 5.14

Межпроцессное взаимодействие в Qt

Qt предоставляет несколько способов реализации межпроцессного взаимодействия (IPC) в приложениях Qt.

TCP/IP

Платформенно-независимый модуль Qt Network предоставляет классы, которые делают сетевое программирование портабельным и простым. Он предлагает высокоуровневые классы (например, QNetworkAccessManager, QFtp), которые взаимодействуют с помощью определенных протоколов прикладного уровня, и низкоуровневые классы (например, QTcpSocket, QTcpServer, QSslSocket) для реализации протоколов.

Общий доступ к памяти

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

Протокол D-Bus

Модуль Qt D-Bus — это библиотека, доступная только в Unix, которую можно использовать для реализации IPC с помощью протокола D-Bus. Она расширяет механизм «Сигналы и слоты» Qt до уровня IPC, позволяя сигналу, отправленному одним процессом, подключаться к слоту в другом процессе. Документация Qt D-Bus содержит подробную информацию о том, как использовать модуль Qt D-Bus.

Класс QProcess

Платформенно-независимый класс QProcess может использоваться для запуска внешних программ как дочерних процессов и для взаимодействия с ними. Он предоставляет API для мониторинга и управления состоянием дочернего процесса. QProcess предоставляет доступ к каналам ввода/вывода дочернего процесса, наследуя от QIODevice.

Управление сеансами

В платформах Linux/X11 Qt предоставляет поддержку управления сеансами. Сеансы позволяют распространять события между процессами, например, сообщать о завершении работы. Затем процесс и приложения могут выполнить необходимые операции, такие как сохранение открытых документов.

  • Управление сеансами

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/ipc.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API