uWebsockets.js for FreeBSD
Go to file
Alex Hultman 23b1ea8230 Rename to LIBUS_LISTEN_EXCLUSIVE_PORT, update uWS 2019-04-17 22:26:25 +02:00
docs Docs: update index.d.ts (#122) 2019-04-17 11:21:02 +02:00
examples Allow iteration over headers 2019-03-10 12:45:43 +01:00
misc Update example cert/key 2019-02-03 15:51:02 +01:00
src Rename to LIBUS_LISTEN_EXCLUSIVE_PORT, update uWS 2019-04-17 22:26:25 +02:00
tests Clean exit, remove forcefully_free 2019-03-02 04:38:01 +01:00
uWebSockets@93b6971bf7 Rename to LIBUS_LISTEN_EXCLUSIVE_PORT, update uWS 2019-04-17 22:26:25 +02:00
.gitattributes Don't include js files in language stats 2019-04-10 12:42:00 +02:00
.gitmodules
.travis.yml Update .travis.yml 2019-02-26 18:21:33 +01:00
LICENSE Apache 2.0 license 2018-11-15 16:01:49 +01:00
Makefile Move build logic to C program, add ARM64 target 2019-04-16 14:46:43 +02:00
README.md v15.9.0 2019-04-04 01:16:16 +02:00
build.c Move build logic to C program, add ARM64 target 2019-04-16 14:46:43 +02:00

README.md

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

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

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