Skip to content

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

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