/uWebSockets.js

μWebSockets for TypeScript & JavaScript backends

Primary LanguageC++Apache License 2.0Apache-2.0

µWebSockets.js™ (it's "micro") is simple, secure[1] & standards compliant[2] web I/O for the most demanding[3] of applications.

TypeScript docsRead more & user manual (C++ project)

© 2016-2019, >39,632,272 downloads

In a nutshell.

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#v15.11.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.