QWebSocket¶
Implements a TCP socket that talks the protocol. More…
Synopsis¶
Functions¶
def
abort
()def
bytesToWrite
()def
closeCode
()def
closeReason
()def
error
()def
errorString
()def
flush
()def
isValid
()def
localAddress
()def
localPort
()def
maskGenerator
()def
origin
()def
pauseMode
()def
peerAddress
()def
peerName
()def
peerPort
()def
proxy
()def
readBufferSize
()def
request
()def
requestUrl
()def
resourceName
()def
resume
()def
sendBinaryMessage
(data)def
sendTextMessage
(message)def
setMaskGenerator
(maskGenerator)def
setPauseMode
(pauseMode)def
setProxy
(networkProxy)def
setReadBufferSize
(size)def
state
()def
version
()
Slots¶
Signals¶
def
aboutToClose
()def
binaryFrameReceived
(frame, isLastFrame)def
binaryMessageReceived
(message)def
bytesWritten
(bytes)def
connected
()def
disconnected
()def
error
(error)def
pong
(elapsedTime, payload)def
preSharedKeyAuthenticationRequired
(authenticator)def
proxyAuthenticationRequired
(proxy, pAuthenticator)def
readChannelFinished
()def
stateChanged
(state)def
textFrameReceived
(frame, isLastFrame)def
textMessageReceived
(message)
Detailed Description¶
is a web technology providing full-duplex communications channels over a single TCP connection. The protocol was standardized by the IETF as RFC 6455 in 2011.
QWebSocket
can both be used in a client application and server application.This class was modeled after
QAbstractSocket
.
QWebSocket
currently does not support WebSocket Extensions and WebSocket Subprotocols .
QWebSocket
only supports version 13 of the protocol, as outlined in RFC 6455 .Note
Some proxies do not understand certain HTTP headers used during a handshake. In that case, non-secure connections fail. The best way to mitigate against this problem is to use over a secure connection.
Warning
To generate masks, this implementation of uses the reasonably secure
global()
->generate() function. For more information about the importance of good masking, see “Talking to Yourself for Fun and Profit” by Lin-Shung Huang et al . The best measure against attacks mentioned in the document above, is to useQWebSocket
over a secure connection (wss:// ). In general, always be careful to not have 3rd party script access to aQWebSocket
in your application.See also
QAbstractSocket
QTcpSocket
QWebSocket client example
-
class
QWebSocket
([origin=""[, version=QWebSocketProtocol.VersionLatest[, parent=None]]])¶ - Parameters
parent –
QObject
origin – unicode
version –
Version
-
PySide2.QtWebSockets.QWebSocket.
abort
()¶ Aborts the current socket and resets the socket. Unlike
close()
, this function immediately closes the socket, discarding any pending data in the write buffer.
-
PySide2.QtWebSockets.QWebSocket.
aboutToClose
()¶
-
PySide2.QtWebSockets.QWebSocket.
binaryFrameReceived
(frame, isLastFrame)¶ - Parameters
frame –
QByteArray
isLastFrame –
bool
-
PySide2.QtWebSockets.QWebSocket.
binaryMessageReceived
(message)¶ - Parameters
message –
QByteArray
-
PySide2.QtWebSockets.QWebSocket.
bytesToWrite
()¶ - Return type
qint64
Returns the number of bytes that are waiting to be written. The bytes are written when control goes back to the event loop or when
flush()
is called.See also
-
PySide2.QtWebSockets.QWebSocket.
bytesWritten
(bytes)¶ - Parameters
bytes –
qint64
-
PySide2.QtWebSockets.QWebSocket.
close
([closeCode=QWebSocketProtocol.CloseCodeNormal[, reason=""]])¶ - Parameters
closeCode –
CloseCode
reason – unicode
Gracefully closes the socket with the given
closeCode
andreason
.Any data in the write buffer is flushed before the socket is closed. The
closeCode
is aCloseCode
indicating the reason to close, andreason
describes the reason of the closure more in detail. All control frames, including the Close frame, are limited to 125 bytes. Since two of these are used forcloseCode
the maximum length ofreason
is 123! Ifreason
exceeds this limit it will be truncated.
-
PySide2.QtWebSockets.QWebSocket.
closeCode
()¶ - Return type
CloseCode
Returns the code indicating why the socket was closed.
See also
CloseCode
closeReason()
-
PySide2.QtWebSockets.QWebSocket.
closeReason
()¶ - Return type
unicode
Returns the reason why the socket was closed.
See also
-
PySide2.QtWebSockets.QWebSocket.
connected
()¶
-
PySide2.QtWebSockets.QWebSocket.
disconnected
()¶
-
PySide2.QtWebSockets.QWebSocket.
error
()¶ - Return type
SocketError
Returns the type of error that last occurred
See also
-
PySide2.QtWebSockets.QWebSocket.
error
(error) - Parameters
error –
SocketError
-
PySide2.QtWebSockets.QWebSocket.
errorString
()¶ - Return type
unicode
Returns a human-readable description of the last error that occurred
See also
-
PySide2.QtWebSockets.QWebSocket.
flush
()¶ - Return type
bool
This function writes as much as possible from the internal write buffer to the underlying network socket, without blocking. If any data was written, this function returns true; otherwise false is returned. Call this function if you need
QWebSocket
to start sending buffered data immediately. The number of bytes successfully written depends on the operating system. In most cases, you do not need to call this function, becauseQWebSocket
will start sending data automatically once control goes back to the event loop.
-
PySide2.QtWebSockets.QWebSocket.
isValid
()¶ - Return type
bool
Returns
true
if the socket is ready for reading and writing; otherwise returnsfalse
.
-
PySide2.QtWebSockets.QWebSocket.
localAddress
()¶ - Return type
QHostAddress
Returns the local address
-
PySide2.QtWebSockets.QWebSocket.
localPort
()¶ - Return type
quint16
Returns the local port
-
PySide2.QtWebSockets.QWebSocket.
maskGenerator
()¶ - Return type
Returns the mask generator that is currently used by this
QWebSocket
.See also
-
PySide2.QtWebSockets.QWebSocket.
open
(request)¶ - Parameters
request –
QNetworkRequest
-
PySide2.QtWebSockets.QWebSocket.
open
(url) - Parameters
url –
QUrl
-
PySide2.QtWebSockets.QWebSocket.
origin
()¶ - Return type
unicode
Returns the current origin.
-
PySide2.QtWebSockets.QWebSocket.
pauseMode
()¶ - Return type
PauseModes
Returns the pause mode of this socket
See also
-
PySide2.QtWebSockets.QWebSocket.
peerAddress
()¶ - Return type
QHostAddress
Returns the peer address
-
PySide2.QtWebSockets.QWebSocket.
peerName
()¶ - Return type
unicode
Returns the
-
PySide2.QtWebSockets.QWebSocket.
peerPort
()¶ - Return type
quint16
Returns the peerport
-
PySide2.QtWebSockets.QWebSocket.
ping
([payload=QByteArray()])¶ - Parameters
payload –
QByteArray
Pings the server to indicate that the connection is still alive. Additional
payload
can be sent along the ping message.The size of the
payload
cannot be bigger than 125. If it is larger, thepayload
is clipped to 125 bytes.See also
-
PySide2.QtWebSockets.QWebSocket.
pong
(elapsedTime, payload)¶ - Parameters
elapsedTime –
quint64
payload –
QByteArray
- Parameters
authenticator –
QSslPreSharedKeyAuthenticator
-
PySide2.QtWebSockets.QWebSocket.
proxy
()¶ - Return type
QNetworkProxy
Returns the currently configured proxy
See also
-
PySide2.QtWebSockets.QWebSocket.
proxyAuthenticationRequired
(proxy, pAuthenticator)¶ - Parameters
proxy –
QNetworkProxy
pAuthenticator –
QAuthenticator
-
PySide2.QtWebSockets.QWebSocket.
readBufferSize
()¶ - Return type
qint64
Returns the size in bytes of the readbuffer that is used by the socket.
See also
-
PySide2.QtWebSockets.QWebSocket.
readChannelFinished
()¶
-
PySide2.QtWebSockets.QWebSocket.
request
()¶ - Return type
QNetworkRequest
Returns the request that was or will be used to open this socket.
-
PySide2.QtWebSockets.QWebSocket.
requestUrl
()¶ - Return type
QUrl
Returns the url the socket is connected to or will connect to.
-
PySide2.QtWebSockets.QWebSocket.
resourceName
()¶ - Return type
unicode
Returns the name of the resource currently accessed.
-
PySide2.QtWebSockets.QWebSocket.
resume
()¶ Continues data transfer on the socket. This method should only be used after the socket has been set to pause upon notifications and a notification has been received. The only notification currently supported is
sslErrors()
. Calling this method if the socket is not paused results in undefined behavior.See also
-
PySide2.QtWebSockets.QWebSocket.
sendBinaryMessage
(data)¶ - Parameters
data –
QByteArray
- Return type
qint64
Sends the given
data
over the socket as a binary message and returns the number of bytes actually sent.See also
-
PySide2.QtWebSockets.QWebSocket.
sendTextMessage
(message)¶ - Parameters
message – unicode
- Return type
qint64
Sends the given
message
over the socket as a text message and returns the number of bytes actually sent.See also
-
PySide2.QtWebSockets.QWebSocket.
setMaskGenerator
(maskGenerator)¶ - Parameters
maskGenerator –
QMaskGenerator
Sets the generator to use for creating masks to
maskGenerator
. The defaultQWebSocket
generator can be reset by supplying a nullptr . The mask generator can be changed at any time, even while the connection is open.See also
-
PySide2.QtWebSockets.QWebSocket.
setPauseMode
(pauseMode)¶ - Parameters
pauseMode –
PauseModes
Controls whether to pause upon receiving a notification. The
pauseMode
parameter specifies the conditions in which the socket should be paused.The only notification currently supported is
sslErrors()
. If set to PauseOnSslErrors, data transfer on the socket will be paused and needs to be enabled explicitly again by callingresume()
. By default, this option is set to PauseNever. This option must be called before connecting to the server, otherwise it will result in undefined behavior.See also
-
PySide2.QtWebSockets.QWebSocket.
setProxy
(networkProxy)¶ - Parameters
networkProxy –
QNetworkProxy
Sets the proxy to
networkProxy
See also
-
PySide2.QtWebSockets.QWebSocket.
setReadBufferSize
(size)¶ - Parameters
size –
qint64
Sets the size of
QWebSocket
‘s internal read buffer to besize
bytes.If the buffer size is limited to a certain size,
QWebSocket
won’t buffer more than this size of data. Exceptionally, a buffer size of 0 means that the read buffer is unlimited and all incoming data is buffered. This is the default. This option is useful if you only read the data at certain points in time (for example, in a real-time streaming application) or if you want to protect your socket against receiving too much data, which may eventually cause your application to run out of memory.See also
-
PySide2.QtWebSockets.QWebSocket.
state
()¶ - Return type
SocketState
Returns the current state of the socket.
-
PySide2.QtWebSockets.QWebSocket.
stateChanged
(state)¶ - Parameters
state –
SocketState
-
PySide2.QtWebSockets.QWebSocket.
textFrameReceived
(frame, isLastFrame)¶ - Parameters
frame – unicode
isLastFrame –
bool
-
PySide2.QtWebSockets.QWebSocket.
textMessageReceived
(message)¶ - Parameters
message – unicode
-
PySide2.QtWebSockets.QWebSocket.
version
()¶ - Return type
Version
Returns the version the socket is currently using.
© 2018 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.