Overview
Architecture
Overview
HighNoon is a real-time communication library designed for use with applications that require low latency, peer-to-peer communication using JSON serialisable data, such as games.
Although this library uses client
and server
terminology, it is
important to note that server
in this context refers to the primary peer, and client
refers to any secondary peers that
connect to the primary peer.
It uses a combination of WebRTC and a Websocket signalling server to establish connection between clients and the server, as well as a simple API to abstract the complexity that is inherent to WebRTC.
Architecture Diagram
Components
HighNoon is made up of two main components: the client and the server. The client is responsible for establishing a connection to the server, and the server is responsible for managing the connections between clients.
Client
The client is responsible for establishing a connection to the server, and for sending and receiving messages to and from the server. The client is also responsible for establishing a WebRTC connection with other clients in the same room.
Server
The server is responsible for managing the connections between clients. It is responsible for creating new rooms, connecting clients to rooms, and broadcasting messages to all clients in a room. The server is also responsible for managing the WebRTC connections between clients.