WebSocket++'s goal is to provide a flexible set of tools for building a wide variety of WebSocket based applications wrapped by low or zero overhead abstractions. It is not opinionated. If something can be practically replacable (with low overhead) based on the user's preference then it is. It accomplishes this via a policy based design built using C++ template metaprogramming. WebSocket++ is a cross platform open source (BSD license) header only C++ library that implements RFC6455 (The WebSocket Protocol) and RFC7692 (Compression Extensions for WebSocket). It allows integrating WebSocket client and server functionality into C++ programs. In its most common configuration full featured network I/O is provided by the Asio Networking Library. Bundled config packages provide sane defaults so most users can get started quickly. As they understand their solution better and want to optimize, the default components can be reconfigured or replaced entirely and transparently.
Features
- Full support for RFC6455
- Partial support for Hixie 76 / Hybi 00, 07-17 draft specs (server only)
- Message/event based interface
- Supports secure WebSockets (TLS), IPv6, and explicit proxies.
- Flexible dependency management (C++11 Standard Library or Boost)
- Interchangeable network transport modules (raw, iostream, Asio, or custom)