932b0b8944a32ad9b41eab3b6644fa1adb76e90a
µWS ("microWS") is simple and efficient messaging for the modern web.
Express yourself briefly.
uWS::App app; // or uWS::SSLApp(options) for SSL
app.onGet("/", [](auto *res, auto *req, auto *args) {
/* Respond with the web app on default route */
res->writeStatus("200 OK")
->writeHeader("Content-Type", "text/html; charset=utf-8")
->end(indexHtmlBuffer);
}).onWebSocket<UserData>("/ws/chat", [&](auto *ws, auto *req, auto *args) {
/* Subscribe to topic /chat */
ws->subscribe("/chat");
}).onMessage([&](auto *ws, auto message, auto opCode) {
/* Parse incoming message according to some protocol & publish it */
if (seemsReasonable(message)) {
ws->publish("/chat", message);
} else {
ws->close();
}
}).onClose([&](auto *ws, int code, auto message) {
/* Remove websocket from this topic */
ws->unsubscribe("/chat");
}).listen("localhost", 3000, 0);
Pay what you want.
A free & open source (Zlib) project since 2016. Kindly sponsored by BitMEX, Bitfinex & Coinbase in 2018.
Become a paying sponsor to unlock support, issue reporting, roadmaps and to drop suggestions.
Deploy like a boss.
Commercial support is available via a per-hourly consulting plan or as otherwise negotiated. If you're stuck, worried about design or just in need of help don't hesitate throwing me, the author a mail and we'll figure out what's best for both parties. I want your business to have a proper understanding of the problem before rushing in to one of the many pitfalls.
Excel across the board.
Description
Languages
C++
81.9%
C
14.2%
Rust
1.8%
Makefile
1.4%
JavaScript
0.7%

