/uWebSockets

Tiny WebSockets

Primary LanguageC++zlib LicenseZlib

µWS ("microWS") is a WebSocket and HTTP implementation for clients and servers. Simple, efficient and lightweight.

Wiki pages & user manual | Care for a sneak peek?

Build optimized WebSocket & HTTP servers & clients in no time.

#include <uWS/uWS.h>
using namespace uWS;

int main() {
    Hub h;
    std::string response = "Hello!";

    h.onMessage([](WebSocket<SERVER> *ws, char *message, size_t length, OpCode opCode) {
        ws->send(message, length, opCode);
    });

    h.onHttpRequest([&](HttpResponse *res, HttpRequest req, char *data, size_t length,
                        size_t remainingBytes) {
        res->end(response.data(), response.length());
    });

    if (h.listen(3000)) {
        h.run();
    }
}

Pay what you want.

A free & open source (Zlib) hobby project of mine since 2016. Kindly sponsored by BitMEX, Bitfinex & Coinbase in 2018.

Understand I don't take issue reports, suggestions or provide any support to free-riders. You want in? Become a sponsor.

Deploy with confidence.

Feeling uncertain about your design? In need of professional help? I might have a few consulting hours for you and your business, send me a mail and we'll figure out the rest.

Excel across the board.

Be fast, not broken.

Gracefully passes the entire Autobahn fuzzing test suite with no failures or Valgrind/ASAN errors. With or without SSL/permessage-deflate.