Skip to content
Marcel Prestel edited this page May 18, 2017 · 18 revisions

Overview

The WebSocket protocol has been evolving since 2009. The different specifications have different features which are incompatible with each other.
For every protocol version that affects the way bytes are transfered there is a corresponding class derived from Draft. The protocol version implementaions will be referenced to as drafts from now onwards.

The WebSocketServer detects any draft of a connecting client by default.
The WebSocketClient on the other hand is the one who initiates the connection and therefore has to decide which draft to use.

By enabling the debug mode ( WebSocketImpl.DEBUG = true;) the used Draft(s) will show up in the console(std::out).

Draft

Draft is the base class for everything of a websocket specification which is not common such as the way the handshake is read or frames are transfered.

Draft_6455

Draft_6455 implements RFC 6455. Since this protocol version made it into an RFC state it is expected to last longer than a month.
This is the recommended draft!

Deprecated drafts

The following drafts are deprecated and marked for a future remove! DO NOT use them!

Draft10

Draft10 implements Hybi 10. This draft is supported by Chrome15 and Firefox6-9. You should no longer relay on this drafts since it is deprecated and not supported by current browsers! Why Chrome dropped WebSocket backwards compatibility.

Draft17

Draft17 implements Hybi 17.

Draft75

Draft75 implements Hixie 75.
You should no longer relay on this drafts since it is deprecated and not supported by current browsers! Why Chrome dropped WebSocket backwards compatibility.

Draft76

Draft76 implements Hixie 76.
You should no longer relay on this draft since it is deprecated and not supported by current browsers! Why Chrome dropped WebSocket backwards compatibility.