2.5 KiB
µWebSockets.js™ (it's "micro") is simple, secure[1] & standards compliant web I/O for the most demanding[2] of applications.
In a nutshell.
µWebSockets.js is the Google V8 bindings to µWebSockets, one of the most efficient web servers available for C++ programming[2]. Bypassing the entire I/O stack of Node.js allows for unprecedented efficiency in back-end JavaScript - what you build stands on nothing but the best of C and C++. Scales to millions of active WebSockets using half a GB of user space memory[3].
npm install uNetworking/uWebSockets.js#v15.8.0
, or any such tag (see releases).
Simple.
There are tons of examples but here's the gist of it all:
const uWS = require('uWebSockets.js');
/* Non-SSL is simply uWS.App() */
uWS.SSLApp({
/* There are tons of SSL options */
key_file_name: 'misc/key.pem',
cert_file_name: 'misc/cert.pem',
}).ws('/*', {
/* For brevity we skip the other events */
message: (ws, message, isBinary) => {
let ok = ws.send(message, isBinary);
}
}).any('/*', (res, req) => {
/* Let's deny all Http */
res.end('Nothing to see here!');
}).listen(9001, (listenSocket) => {
if (listenSocket) {
console.log('Listening to port 9001');
}
});
Pay what you want.
Commercially developed on a sponsored/consulting basis; BitMEX, Bitfinex and Coinbase are current or previous sponsors. Contact me, the author for support, feature development or consulting/contracting.
µWebSockets.js is intellectual property licensed Apache 2.0 with limitations on trademark use. Forks must be clearly labelled as such and must not be confused with the original.