Межпроцессное взаимодействие в Qt
Qt обеспечивает несколько путей для реализации межпроцессного взаимодействия (IPC) в приложениях на Qt.
D-Bus
Модуль QtDBus это библиотека для Unix, которую вы можете использовать для реализации IPC используя протокол D-Bus. Он расширяет механизм сигналов и слотов Qt до уровня IPC, позволяя сигналу, выработанному одним процессом подключиться к слоту в другом процессе. Страница Введение в D-Bus содержит детальную информацию о том как использовать модуль QtDBus.
TCP/IP
Кроссплатформенный модуль QtNetwork предоставляет классы, которые делают сетевое программирование переносимым и простым. Он предлагает высокоуровневые классы (например, QHttp, QFtp) которые соединяют использую специфичные протоколы уровня приложения, и низкоуровневые классы (например, QTcpSocket, QTcpServer, QSslSocket) для реализации протоколов.
Разделяемая память
Кроссплатформенный класс разделяемой памяти - QSharedMemory, предоставляет доступ к реализации разделяемой памяти операционной системы. Это позволяет получить безопасный доступ к сегментам разделяемой памяти множеством потоков и процессов. QSystemSemaphore также может быть использован для контроля доступа к разделяемым операционной системой ресурсам и для взаимодействия между процессами.
Протокол взаимодействий Qt (Qt COmmunications Protocol, QCOP)
The QCopChannel class implements a protocol for transferring messages between client processes across named channels. QCopChannel доступен только в Qt for Embedded Linux. Like the QtDBus module, QCOP extends Qt's Signals and Slots mechanism to the IPC level, allowing a signal emitted by one process to be connected to a slot in another process, but unlike QtDBus, QCOP does not depend on a third party library.
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|