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.

Ready to Host RTCMultiConnection in Delphi?

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