docs | ||
examples | ||
misc | ||
src | ||
tests | ||
uWebSockets@8b3f037ffd | ||
.gitattributes | ||
.gitmodules | ||
.travis.yml | ||
build.c | ||
LICENSE | ||
Makefile | ||
README.md |
µWebSockets.js™ (it's "micro") is simple, secure[1] & standards compliant[2] web I/O for the most demanding[3] of applications.
• TypeScript docs • Read more & user manual (C++ project)
© 2016-2019, >39,632,272 downloads
In a nutshell.
Think of it as a complete replacement to both Express.js and Socket.IO, written entirely in C/C++ for maximum performance and reliability. There are tons of examples but here's the gist of it all:
/* Non-SSL is simply App() */
require('uWebSockets.js').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');
}
});
Ready all thrusters.
Install with npm install uNetworking/uWebSockets.js#v16.5.0
or any such release. No compiler needed.
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.
Know thy legal matters.
µ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.