doc/src/frameworks-technologies/ipc.qdoc
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the documentation of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 /*!
       
    43     \page ipc.html
       
    44     \title Inter-Process Communication in Qt
       
    45     \brief Inter-Process communication in Qt applications.
       
    46 
       
    47     \ingroup frameworks-technologies
       
    48 
       
    49     Qt provides several ways to implement Inter-Process Communication
       
    50     (IPC) in Qt applications.
       
    51 
       
    52     \section1 TCP/IP
       
    53 
       
    54     The cross-platform \l{QtNetwork} module provides classes that make
       
    55     network programming portable and easy. It offers high-level
       
    56     classes (e.g., QNetworkAccessManager, QFtp) that communicate using
       
    57     specific application-level protocols, and lower-level classes
       
    58     (e.g., QTcpSocket, QTcpServer, QSslSocket) for implementing
       
    59     protocols.
       
    60 
       
    61     \section1 Shared Memory
       
    62 
       
    63     The cross-platform shared memory class, QSharedMemory, provides
       
    64     access to the operating system's shared memory implementation.
       
    65     It allows safe access to shared memory segments by multiple threads
       
    66     and processes. Additionally, QSystemSemaphore can be used to control
       
    67     access to resources shared by the system, as well as to communicate
       
    68     between processes.
       
    69 
       
    70     \section1 D-Bus
       
    71 
       
    72     The \l{QtDBus} module is a Unix-only library
       
    73     you can use to implement IPC using the D-Bus protocol. It extends
       
    74     Qt's \l{signalsandslots.html} {Signals and Slots} mechanism to the
       
    75     IPC level, allowing a signal emitted by one process to be
       
    76     connected to a slot in another process. This \l {Introduction to
       
    77     D-Bus} page has detailed information on how to use the \l{QtDBus}
       
    78     module.
       
    79 
       
    80     \section1 Qt COmmunications Protocol (QCOP)
       
    81 
       
    82     The QCopChannel class implements a protocol for transferring messages
       
    83     between client processes across named channels. QCopChannel is
       
    84     only available in \l{Qt for Embedded Linux}. Like the \l{QtDBus}
       
    85     module, QCOP extends Qt's \l{Signals and Slots} mechanism to the
       
    86     IPC level, allowing a signal emitted by one process to be
       
    87     connected to a slot in another process, but unlike QtDBus, QCOP
       
    88     does not depend on a third party library.
       
    89 */