RTCMultiConnection Signalling Server — sgcWebSockets | eSeGeCe

RTCMultiConnection Server

WebSocket signalling server compatible with the RTCMultiConnection JavaScript library. Drop it on a TsgcWebSocketHTTPServer and your browser clients can find each other.

TsgcWSAPIServer_RTCMultiConnection

Implements the wire protocol the RTCMultiConnection (Muaz Khan) JavaScript client speaks — rooms, peer discovery, SDP / ICE relay — so a Delphi server can replace the Node.js signalling backend.

Component class

TsgcWSAPIServer_RTCMultiConnection

Platforms

Windows, macOS, Linux, iOS, Android

Edition

Enterprise

Drop on the HTTP server, run

Drop a TsgcWebSocketHTTPServer (TLS recommended) and a TsgcWSAPIServer_RTCMultiConnection beside it — your existing RTCMultiConnection.js clients connect with their default URL.

uses
  sgcWebSocket, sgcWebSocket_Server_APIs;

var
  Server: TsgcWebSocketHTTPServer;
  RTCMC: TsgcWSAPIServer_RTCMultiConnection;
begin
  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 443;
  Server.SSL  := True;
  Server.SSLOptions.CertFile := 'cert.pem';
  Server.SSLOptions.KeyFile  := 'key.pem';

  RTCMC := TsgcWSAPIServer_RTCMultiConnection.Create(nil);
  RTCMC.Server := Server;

  Server.Active := True;
end;

What's inside

Server-side counterpart to the popular RTCMultiConnection.js client — lets you replace Node.js signalling with a Delphi service.

Room / channel routing

Accepts open-room, join-room, check-presence and the rest of the RTCMultiConnection wire verbs — participants in the same room get each other's SDP and ICE candidates.

SDP relay

SDP offers and answers are relayed verbatim — the server never decodes them, so it stays compatible as the JavaScript client evolves.

ICE candidate relay

Trickle-ICE candidates flow through the same channel, queued per peer until SetRemoteDescription has fired client-side.

Multi-instance

Drop multiple TsgcWSAPIServer_RTCMultiConnection components on the same server (one per virtual host) — each handles its own room namespace.

WebRTC requires TLS for production; configure Server.SSLOptions with valid certificates so browsers accept the WebSocket upgrade as wss://.

Pairs with TURN

Combine with TsgcTURNServer for an all-in-Delphi WebRTC backend — signalling here, candidate relaying there, no third-party services.

Specifications & references

Authoritative sources for the project this component implements.

Documentation & Demos

Deep-link to the component reference, grab the ready-to-run demo project, and download the trial.

Online Help — RTCMultiConnection Full property, method and event reference for this component.
Demo Project — Demos\30.WebRTC_Protocol\04.RTCMultiConnection Ready-to-run example project. Ships inside the sgcWebSockets package — download the trial below.
Technical Document (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
User Manual (PDF) Comprehensive manual covering every component in the library.
Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

Ready to Host RTCMultiConnection in Delphi?

Download the free trial and replace your Node.js signalling backend with a Delphi service.