Skip to content

PeterHewat/uWebSockets.js

 
 

Repository files navigation

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

For PythonUser manualDocs

© 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#v17.1.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.

About

TypeScript web server - 15x faster than Deno

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 92.8%
  • C 5.6%
  • JavaScript 1.5%
  • Makefile 0.1%