Zaphoyd Studios

WebSocket++

WebSocket++ is a full featured C++/Boost ASIO implimentation of RFC6455, the WebSocket protocol which can be used to build applications that feature WebSocket client and server functionality.

Features

Server Library Yes
Client Library Yes
License BSD
Library Type Static or dynamic
Protocol Support Full support: RFC6455
Partial support: Hixie draft 76, Hybi Drafts 7-17
Browser Support Full support: FireFox 6+, Chrome 14+, IE 10+
Partial support: FireFox 4-5, Chrome 4-13, Safari 5.0.2+, Mobile Safari 4.2+, Opera 11.0+
Platforms In theory anything that Boost runs on.
Has been tested on Mac OS X, Linux using GCC 4.2+ and LLVM/Clang 2.8+, and lightly on Windows using Visual Studio 2010+
API Type Asynchronous, message based
Message Types Binary and utf-8 text (not all browsers support binary)
Message Size Limit memory limited, configurable
TLS Support Yes
IPv6 Support Yes
Manual Ping/Pong Yes
Flow Control Configurable and poll-able queuing for sending and receiving.
Handshake features Passes through all HTTP headers for application use
subprotocol negotiation
extension request data pass through
custom HTTP errors for application defined handshake failures
application defined HTTP headers in handshake response
HTTP request pass through
Protocol Test Report Autobahn Report (Server)
Autobahn Report (Client)

How to get it?

WebSocket++ code is available on github
WebSocket++ documentation is available on the project's github wiki