diff options
author | Sergio Ahumada <sahumada@blackberry.com> | 2014-02-14 21:43:32 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-16 10:18:11 +0100 |
commit | 5b8172c5ae60a2247b1a390e7262e756115a1dc1 (patch) | |
tree | 7732d754d688b550a543f345a69f0f9837200412 /src | |
parent | 9d604432b5ff6fbdd2cd6ee44c91ea80ff858939 (diff) | |
download | qtwebsockets-5b8172c5ae60a2247b1a390e7262e756115a1dc1.tar.gz |
Rename websockets.pro -> qtwebsockets.pro
Change-Id: Ia42316304a37d151b678a9922071bbb090ec87b5
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/websockets/qwebsocketserver.cpp | 8 | ||||
-rw-r--r-- | src/websockets/qwebsocketserver_p.cpp | 9 | ||||
-rw-r--r-- | src/websockets/qwebsocketserver_p.h | 1 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/websockets/qwebsocketserver.cpp b/src/websockets/qwebsocketserver.cpp index 2c6d677..0645947 100644 --- a/src/websockets/qwebsocketserver.cpp +++ b/src/websockets/qwebsocketserver.cpp @@ -495,10 +495,10 @@ quint16 QWebSocketServer::serverPort() const nextPendingConnection() is called. By default, the limit is 30 pending connections. - Clients may still able to connect after the server has reached its maximum number of - pending connections (i.e., QWebSocketServer can still emit the connected() signal). - QWebSocketServer will stop accepting the new connections, but the operating system may still - keep them in queue. + QWebSocketServer will emit the error() signal with + the QWebSocketProtocol::CloseCodeAbnormalDisconnection close code + when the maximum of connections has been reached. + The websocket handshake will fail and the socket will be closed. \sa maxPendingConnections(), hasPendingConnections() */ diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 061fb3f..a43e75a 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -70,7 +70,8 @@ QWebSocketServerPrivate::QWebSocketServerPrivate(const QString &serverName, m_secureMode(secureMode), m_pendingConnections(), m_error(QWebSocketProtocol::CloseCodeNormal), - m_errorString() + m_errorString(), + m_maxPendingConnections(30) { Q_ASSERT(pWebSocketServer); } @@ -178,7 +179,7 @@ bool QWebSocketServerPrivate::listen(const QHostAddress &address, quint16 port) */ int QWebSocketServerPrivate::maxPendingConnections() const { - return m_pTcpServer->maxPendingConnections(); + return m_maxPendingConnections; } /*! @@ -273,7 +274,9 @@ quint16 QWebSocketServerPrivate::serverPort() const */ void QWebSocketServerPrivate::setMaxPendingConnections(int numConnections) { - m_pTcpServer->setMaxPendingConnections(numConnections); + if (m_pTcpServer->maxPendingConnections() <= numConnections) + m_pTcpServer->setMaxPendingConnections(numConnections + 1); + m_maxPendingConnections = numConnections; } /*! diff --git a/src/websockets/qwebsocketserver_p.h b/src/websockets/qwebsocketserver_p.h index 617f35c..cc37df6 100644 --- a/src/websockets/qwebsocketserver_p.h +++ b/src/websockets/qwebsocketserver_p.h @@ -131,6 +131,7 @@ private: QQueue<QWebSocket *> m_pendingConnections; QWebSocketProtocol::CloseCode m_error; QString m_errorString; + int m_maxPendingConnections; void addPendingConnection(QWebSocket *pWebSocket); void setErrorFromSocketError(QAbstractSocket::SocketError error, |