DocumentationCore Protocol
@painda/video
A fast WebRTC signaling server built directly into PaindaProtocol.
How it works
- Out-of-the-Box Signaling: WebRTC requires a central server to exchange SDP Offers, Answers, and ICE candidates before establishing a P2P connection.
- Room Based: Clients join a "Call Room" and the Signaling server automatically targets the right peers.
- Zero Setup routing: The \`SignalingServer\` class handles all message delegation for you.
Server Usage
import { PPServer } from "@painda/core";
import { SignalingServer } from "@painda/video";
const server = new PPServer({ port: 7001, registry });
const rtcManager = new SignalingServer(server);
server.on("connection", (client) => {
client.on("message", (msg) => {
if (msg.type === "rtc-signal") {
// Handles join, leave, offer, answer, and candidate routing
rtcManager.handleSignal(client, msg);
}
});
});