Spec-Zone.ru › Qt 6.0

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

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

TCP/IP

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

Локальный сервер/сокет

Платформенно-независимый модуль Qt Network предоставляет классы, которые делают локальное сетевое программирование портабельным и простым. Он предлагает классы QLocalServer и QLocalSocket, которые позволяют осуществлять сетеподобное взаимодействие в локальной среде. Их TCP-аналоги можно использовать как прямые заменители для обеспечения работы взаимодействия через сети.

Общая память

Платформенно-независимый класс общей памяти 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, Windows и macOS Qt поддерживает управление сеансами. Сеансы позволяют событиям распространяться по процессам, например, для уведомления о завершении работы. Процесс и приложения могут затем выполнить необходимые операции, такие как сохранение открытых документов.

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

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

Spec-Zone.ru

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