All Projects → synrc → N2o

synrc / N2o

Licence: isc
⭕ N2O: Distributed Application Server

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to N2o

Pjon
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Stars: ✭ 2,615 (+107.21%)
Mutual labels:  mqtt, tcp, udp
Aleph
Asynchronous communication for Clojure
Stars: ✭ 2,389 (+89.3%)
Mutual labels:  tcp, udp, websockets
Saea
SAEA.Socket is a high-performance IOCP framework TCP based on dotnet standard 2.0; Src contains its application test scenarios, such as websocket,rpc, redis driver, MVC WebAPI, lightweight message server, ultra large file transmission, etc. SAEA.Socket是一个高性能IOCP框架的 TCP,基于dotnet standard 2.0;Src中含有其应用测试场景,例如websocket、rpc、redis驱动、MVC WebAPI、轻量级消息服务器、超大文件传输等
Stars: ✭ 318 (-74.8%)
Mutual labels:  mqtt, websockets, tcp
Kalm.js
The socket manager
Stars: ✭ 155 (-87.72%)
Mutual labels:  websockets, tcp, udp
Simps
🚀 A simple, lightweight and high-performance PHP coroutine framework.
Stars: ✭ 318 (-74.8%)
Mutual labels:  mqtt, tcp, udp
Gensio
A library to abstract stream I/O like serial port, TCP, telnet, UDP, SSL, IPMI SOL, etc.
Stars: ✭ 30 (-97.62%)
Mutual labels:  tcp, udp
Mts
Project of Multi-protocol Test Tool opensourced by Ericsson
Stars: ✭ 34 (-97.31%)
Mutual labels:  tcp, udp
Hookah
A cross-platform tool for data pipelines.
Stars: ✭ 83 (-93.42%)
Mutual labels:  websockets, tcp
Objecttransport
Send and Receive objects over TCP or UDP
Stars: ✭ 39 (-96.91%)
Mutual labels:  tcp, udp
Libnet
A portable framework for low-level network packet construction
Stars: ✭ 640 (-49.29%)
Mutual labels:  tcp, udp
Mclighting
The ESP8266 based multi-client lighting gadget
Stars: ✭ 977 (-22.58%)
Mutual labels:  mqtt, websockets
Media Tutorial
流处理,TCP和UDP,WebRTC和Blob
Stars: ✭ 47 (-96.28%)
Mutual labels:  tcp, udp
Bigq
Messaging platform in C# for TCP and Websockets, with or without SSL
Stars: ✭ 18 (-98.57%)
Mutual labels:  websockets, tcp
Parallec
Fast Parallel Async HTTP/SSH/TCP/UDP/Ping Client Java Library. Aggregate 100,000 APIs & send anywhere in 20 lines of code. Ping/HTTP Calls 8000 servers in 12 seconds. (Akka) www.parallec.io
Stars: ✭ 777 (-38.43%)
Mutual labels:  tcp, udp
Tools
C# 工具箱,提供Socket(TCP、UDP协议)、Redis、activemq、数据库访问等技术的封装实现
Stars: ✭ 34 (-97.31%)
Mutual labels:  tcp, udp
Elixir Socket
Socket wrapping for Elixir.
Stars: ✭ 642 (-49.13%)
Mutual labels:  tcp, udp
Godsharp.socket
An easy-to-use .NET socket server and client.
Stars: ✭ 35 (-97.23%)
Mutual labels:  tcp, udp
Thingsboard
Open-source IoT Platform - Device management, data collection, processing and visualization.
Stars: ✭ 10,526 (+734.07%)
Mutual labels:  mqtt, websockets
Pytcp
PyTCP is an attempt to create fully functional TCP/IP stack in Python. It supports TCP stream based transport with reliable packet delivery based on sliding window mechanism and basic congestion control. It also supports IPv6/ICMPv6 protocols with SLAAC address configuration. It operates as user space program attached to Linux TAP interface. As of today stack is able to send and receive traffic over Internet using IPv4 and IPv6 default gateways for routing. Since goal of this project is purely educational (at least at this point) the clarity of code is preferred over its efficiency. For the same reason security features are not being implemented just yet unless they are integral part of TCP/IP suite protocols specification.
Stars: ✭ 65 (-94.85%)
Mutual labels:  tcp, udp
Blinker Library
An IoT Solution,Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.
Stars: ✭ 1,095 (-13.23%)
Mutual labels:  mqtt, websockets

N2O: TCP MQTT WebSocket

Actions Status Build Status Hex pm Support me on Patreon

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, session, frame encoding, mq and caching services.

Core Features

  • Purpose: High performance protocol relay
  • Endpoints: WebSockets, MQTT, TCP
  • Codebase: 700 LOC (Erlang), 500 LOC (JavaScript)
  • Dialyzer: REBAR, REBAR3, MAD, MIX
  • Hosts: COWBOY, EMQ, MOCHIWEB, RING, TCP, UDP

Protocol Extensions

  • Templates: DTL, NITRO
  • Abstract Database Layer KVS: FS, MNESIA, ROCKSDB, RIAK, REDIS
  • Business Processes: BPE (BPMN 2.0), SCM, ERP, CRM
  • HTTP API: REST (proplist/JSON)
  • ACTIVE Reloading: Linux, Windows, Mac

Basic Samples

Enterprise Samples

  • Online Client Bank: BANK (8041)
  • Instant Messaging: CHAT (8042)
  • Product Lifecycle Management: PLM (8043)

Motivation

N2O was created to bring clarity and sanity to software development. The distribution model is per file basis with ISC license.

Kernel

The core modules provide OTP start and N2O entry point.

MQTT

MQTT version is implemented as RPC over MQ pattern. N2O service worker started as ring of virtual nodes each runs N2O loop.

$ mad app zero review
$ cd review
$ mad dep com pla rep
$ open http://127.0.0.1:8000

WebSocket

N2O Loop is directly connected and runned 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.

$ mad app nitro sample
$ cd sample
$ mad dep com pla rep
$ open https://127.0.0.1:8001/app/index.htm

Protocols

N2O ships with 3 optional protocols.

Services

Formatters, Sessions, etc. Optional.

JavaScript

Literature

  • N2O Book PDF (outdated)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].