QWebSocketProtocol Namespace
Contains constants related to the WebSocket standard. \since
5.3. More...
Header: | #include <QWebSocketProtocol> |
Types
enum | CloseCode { CloseCodeNormal, CloseCodeGoingAway, CloseCodeProtocolError, CloseCodeDatatypeNotSupported, CloseCodeReserved1004, …, CloseCodeTlsHandshakeFailed } |
enum | OpCode { OpCodeContinue, OpCodeText, OpCodeBinary, OpCodeReserved3, OpCodeReserved4, …, OpCodeReservedF } |
enum | Version { VersionUnknown, Version0, Version4, Version5, Version6, …, VersionLatest } |
Functions
Version | currentVersion() |
bool | isCloseCodeValid(int closeCode) |
void | mask(QByteArray *payload, quint32 maskingKey) |
void | mask(char *payload, quint64 size, quint32 maskingKey) |
Version | versionFromString(QStringView versionString) |
Detailed Description
\inmodule
QtWebSockets
Type Documentation
enum QWebSocketProtocol::CloseCode
\inmodule
QtWebSockets
The close codes supported by WebSockets V13
Constant | Value | Description |
---|---|---|
QWebSocketProtocol::CloseCodeNormal | 1000 | Normal closure |
QWebSocketProtocol::CloseCodeGoingAway | 1001 | Going away |
QWebSocketProtocol::CloseCodeProtocolError | 1002 | Protocol error |
QWebSocketProtocol::CloseCodeDatatypeNotSupported | 1003 | Unsupported data |
QWebSocketProtocol::CloseCodeReserved1004 | 1004 | Reserved |
QWebSocketProtocol::CloseCodeMissingStatusCode | 1005 | No status received |
QWebSocketProtocol::CloseCodeAbnormalDisconnection | 1006 | Abnormal closure |
QWebSocketProtocol::CloseCodeWrongDatatype | 1007 | Invalid frame payload data |
QWebSocketProtocol::CloseCodePolicyViolated | 1008 | Policy violation |
QWebSocketProtocol::CloseCodeTooMuchData | 1009 | Message too big |
QWebSocketProtocol::CloseCodeMissingExtension | 1010 | Mandatory extension missing |
QWebSocketProtocol::CloseCodeBadOperation | 1011 | Internal server error |
QWebSocketProtocol::CloseCodeTlsHandshakeFailed | 1015 | TLS handshake failed |
See also QWebSocket::close().
enum QWebSocketProtocol::OpCode
\inmodule
QtWebSockets
The frame opcodes as defined by the WebSockets standard
Constant | Value | Description |
---|---|---|
QWebSocketProtocol::OpCodeContinue | 0x0 | Continuation frame |
QWebSocketProtocol::OpCodeText | 0x1 | Text frame |
QWebSocketProtocol::OpCodeBinary | 0x2 | Binary frame |
QWebSocketProtocol::OpCodeReserved3 | 0x3 | Reserved |
QWebSocketProtocol::OpCodeReserved4 | 0x4 | Reserved |
QWebSocketProtocol::OpCodeReserved5 | 0x5 | Reserved |
QWebSocketProtocol::OpCodeReserved6 | 0x6 | Reserved |
QWebSocketProtocol::OpCodeReserved7 | 0x7 | Reserved |
QWebSocketProtocol::OpCodeClose | 0x8 | Close frame |
QWebSocketProtocol::OpCodePing | 0x9 | Ping frame |
QWebSocketProtocol::OpCodePong | 0xA | Pong frame |
QWebSocketProtocol::OpCodeReservedB | 0xB | Reserved |
QWebSocketProtocol::OpCodeReservedC | 0xC | Reserved |
QWebSocketProtocol::OpCodeReservedD | 0xD | Reserved |
QWebSocketProtocol::OpCodeReservedE | 0xE | Reserved |
QWebSocketProtocol::OpCodeReservedF | 0xF | Reserved |
\internal
enum QWebSocketProtocol::Version
\inmodule
QtWebSockets
The different defined versions of the WebSocket protocol.
For an overview of the differences between the different protocols, see pywebsocket's WebSocketProtocolSpec.
Constant | Value | Description |
---|---|---|
QWebSocketProtocol::VersionUnknown | -1 | Unknown or unspecified version. |
QWebSocketProtocol::Version0 | 0 | hixie76 and hybi-00. Works with key1, key2 and a key in the payload. Attribute: Sec-WebSocket-Draft value 0. Not supported by QtWebSockets. |
QWebSocketProtocol::Version4 | 4 | hybi-04. Changed handshake: key1, key2, key3 ==> Sec-WebSocket-Key, Sec-WebSocket-Nonce, Sec-WebSocket-Accept Sec-WebSocket-Draft renamed to Sec-WebSocket-Version Sec-WebSocket-Version = 4. Not supported by QtWebSockets. |
QWebSocketProtocol::Version5 | 5 | hybi-05. Sec-WebSocket-Version = 5 Removed Sec-WebSocket-Nonce Added Sec-WebSocket-Accept. Not supported by QtWebSockets. |
QWebSocketProtocol::Version6 | 6 | Sec-WebSocket-Version = 6. Not supported by QtWebSockets. |
QWebSocketProtocol::Version7 | 7 | hybi-07. Sec-WebSocket-Version = 7. Not supported by QtWebSockets. |
QWebSocketProtocol::Version8 | 8 | hybi-8, hybi-9, hybi-10, hybi-11 and hybi-12. Status codes 1005 and 1006 are added and all codes are now unsigned Internal error results in 1006. Not supported by QtWebSockets. |
QWebSocketProtocol::Version13 | 13 | hybi-13, hybi14, hybi-15, hybi-16, hybi-17 and RFC 6455. Sec-WebSocket-Version = 13 Status code 1004 is now reserved Added 1008, 1009 and 1010 Must support TLS Clarify multiple version support. Supported by QtWebSockets. |
QWebSocketProtocol::VersionLatest | Version13 | Refers to the latest known version to QtWebSockets. |
Function Documentation
Version QWebSocketProtocol::currentVersion()
Returns the latest version that WebSocket is supporting
\internal
bool QWebSocketProtocol::isCloseCodeValid(int closeCode)
Checks if closeCode is a valid WebSocket close code
\internal
void QWebSocketProtocol::mask(QByteArray *payload, quint32 maskingKey)
Mask the payload with the given maskingKey and stores the result back in payload.
\internal
void QWebSocketProtocol::mask(char *payload, quint64 size, quint32 maskingKey)
Masks the payload of length size with the given maskingKey and stores the result back in payload.
\internal
Version QWebSocketProtocol::versionFromString(QStringView versionString)
Parses the versionString and converts it to a Version value
\internal