uWebSockets.js/README.md

2.9 KiB


Simple, secure[1] & standards compliant[2] web server for the most demanding[3] of applications. Read more...

Language grade: C/C++



💡 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. Browse the documentation. 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#v18.1.0 or any such release. No compiler needed.

Real-world tests over TLS 1.3 and Ethernet puts us 5x as efficient as Socket.IO, 2x as efficient as websockets/ws.

💵 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.