⭕ N2O: Distributed WebSocket Application Server ISO 20922
1,341
stars
2,245
commits
Erlang
primary language
Jun 4, 2026
updated
N2O is an embeddable message protocol loop library for WebSocket, HTTP, MQTT and TCP servers. It provides basic features, such as process management, virtual nodes ring for request processing, sessions, frame encoding, and unified API for external mq and caching services.
N2O was created to bring clarity and sanity to software development. The distribution model is per file basis with ISC license.
The core modules provide OTP start and N2O entry point.
N2O Loop is directly connected and ran inside context of WebSocket handler.
Usually in Erlang we use syn or gproc OTP message buses.
As such buses are optional in MQTT setup we include bus drivers in WebSocket package.
git clone git@github.com:synrc/sample && cd sample
rebar3 shell
open http://localhost:8001/app/login.htm
N2O ships with 3 optional protocols.
Formatters, Sessions, etc. Optional.
Erlang
90.4%
Elixir
9.6%
⭕ N2O: Distributed WebSocket Application Server ISO 20922
1,341
stars
2,245
commits
Erlang
primary language
Jun 4, 2026
updated
N2O is an embeddable message protocol loop library for WebSocket, HTTP, MQTT and TCP servers. It provides basic features, such as process management, virtual nodes ring for request processing, sessions, frame encoding, and unified API for external mq and caching services.
N2O was created to bring clarity and sanity to software development. The distribution model is per file basis with ISC license.
The core modules provide OTP start and N2O entry point.
N2O Loop is directly connected and ran inside context of WebSocket handler.
Usually in Erlang we use syn or gproc OTP message buses.
As such buses are optional in MQTT setup we include bus drivers in WebSocket package.
git clone git@github.com:synrc/sample && cd sample
rebar3 shell
open http://localhost:8001/app/login.htm
N2O ships with 3 optional protocols.
Formatters, Sessions, etc. Optional.
Erlang
90.4%
Elixir
9.6%