Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/network/socket/qudpsocket.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the QtNetwork module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     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.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    4747    \brief The QUdpSocket class provides a UDP socket.
    4848
    49     \ingroup io
     49    \ingroup network
    5050    \inmodule QtNetwork
    5151
     
    7171    datagram, and readDatagram() to read it.
    7272
     73    \note An incoming datagram should be read when you receive the readyRead()
     74    signal, otherwise this signal will not be emitted for the next datagram.
     75
    7376    Example:
    7477
     
    9295    This enum describes the different flags you can pass to modify the
    9396    behavior of QUdpSocket::bind().
     97
     98    \note On Symbian OS bind flags behaviour depends on process capabilties.
     99    If process has NetworkControl capability, the bind attempt with
     100    ReuseAddressHint will always succeed even if the address and port is already
     101    bound by another socket with any flags. If process does not have
     102    NetworkControl capability, the bind attempt to address and port already
     103    bound by another socket will always fail.
    94104
    95105    \value ShareAddress Allow other services to bind to the same address
     
    348358    destination.
    349359
     360    \warning In S60 5.0 and earlier versions, the writeDatagram return
     361    value is not reliable for large datagrams.
     362
    350363    \warning Calling this function on a connected UDP socket may
    351364    result in an error and no packet being sent. If you are using a
     
    366379
    367380    qint64 sent = d->socketEngine->writeDatagram(data, size, address, port);
     381#ifdef Q_OS_SYMBIAN
     382    if( QSysInfo::s60Version() <= QSysInfo::SV_S60_5_0 ) {
     383        // This is evil hack, but for some reason native RSocket::SendTo returns 0,
     384        // for large datagrams (such as 600 bytes). Based on comments from Open C team
     385        // this should happen only in platforms <= S60 5.0.
     386        // As an workaround, we just set sent = size
     387        if( sent == 0 )
     388            sent = size;
     389    }
     390#endif
    368391    d->cachedSocketDescriptor = d->socketEngine->socketDescriptor();
    369392
     
    378401}
    379402
    380 /*! 
     403/*!
    381404    \fn qint64 QUdpSocket::writeDatagram(const QByteArray &datagram,
    382405                                             const QHostAddress &host, quint16 port)
Note: See TracChangeset for help on using the changeset viewer.