diff options
author | Kurt Pattyn <pattyn.kurt@gmail.com> | 2013-11-17 15:20:08 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-25 01:10:23 +0100 |
commit | 7c8d645c4759f7290fd31fe439abf0a99aac9161 (patch) | |
tree | 4d2630238d010c5e123b6053569e9853e4a954ac /README.md | |
parent | 12a415503ed2579f8d9773a983ef34b1b0817caa (diff) | |
download | qtwebsockets-7c8d645c4759f7290fd31fe439abf0a99aac9161.tar.gz |
Add QML websockets plugin
Change-Id: I9454cf339f8af5515d3a91667d8c8ded3659d18b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 40 |
1 files changed, 19 insertions, 21 deletions
@@ -1,38 +1,36 @@ ### Introduction -QWebSockets is a pure Qt implementation of WebSockets - both client and server. -It is implemented as a Qt source code module (.pri file), that can easily be embedded into existing Qt projects. It has no other dependencies that Qt. +`QtWebSockets` is a pure Qt implementation of WebSockets - both client and server. +It is implemented as a Qt add-on module, that can easily be embedded into existing Qt projects. It has no other dependencies than Qt. ### Features +* Client and server capable * Text and binary sockets * Frame-based and message-based signals -* Works through proxies * Strict Unicode checking - -### Restrictions -Non-characters (according [Unicode Standard 6.2](http://www.unicode.org/versions/Unicode6.2.0/)) are rejected by QWebSockets, **even if the UTF-8 sequence is valid**. -##### Rationale -The WebSocket specification is talking about _Valid UTF-8 codes and sequences_. Strictly speaking, UTF-xx encodings are reversible. That means, that the [66 non-character codes](http://www.unicode.org/faq/private_use.html#noncharacters) (including `U+FFFE` and `U+FFFF`), are valid UTF-8, and hence are perfectly acceptable within WebSocket text messages. -According to the Unicode standard, they SHOULD NOT be used in information interchange, but a [recent corrigendum](http://www.unicode.org/versions/corrigendum9.html) clarifies that non-characters CAN be exchanged. -However, non-characters are for internal use, and hence, they are implementation specific (e.g. non-characters can be used to carry meta-information). _They have to be interpreted._ -When used with `QString`, they are replaced with `U+FFFD - REPLACEMENT CHARACTER`, and rendered - non-standard - as a question mark (this is the `QString` rendering of the non-character `U+FFFD`: �). Browsers keep the control characters untouched (this is the browser rendering of the non-character `U+FDD0`: ). - -With QWebSockets, text messages are just that: a collection of human-readable characters. Text messages never have to be interpreted to be rendered correctly. In case, you still want to do implementation specific trickery, use binary messages instead. Indeed, if non-characters were allowed in text messages, then every text message has to be parsed, character-per-character, to find out if it contains special control codes, or a protocol should be devised that indicates whether the message contains that kind of control codes. We keep it simple: text is text and nothing more. +* WSS and proxy support ### Requirements Qt 5.x -### Usage -Include the .pri file into your Qt project -~~~ -include (qwebsockets.pri) -~~~ +### Build And Usage +Checkout the source code from gitorious +Go into the source directory and execute: + + qmake + make + make install + + +The last command will install `QtWebSockets` as a Qt module. + +To use, add `websockets` to the QT variable. + +`QT += websockets` ### Compliance -QWebSockets is compliant with [RFC6455](http://datatracker.ietf.org/doc/rfc6455/?include_text=1) and has been tested with the [Autobahn Testsuite](http://autobahn.ws/testsuite). -Only tests with **Unicode non-characters** do **not** pass from the Autobahn Testsuite (see [Restrictions](#Restrictions)). +`QtWebSockets` is compliant with [RFC6455](http://datatracker.ietf.org/doc/rfc6455/?include_text=1) and has been tested with the [Autobahn Testsuite](http://autobahn.ws/testsuite). ### Missing Features -* WSS protocol * Extensions and sub-protocols ### License |