How iamakashtechie/webrtc-learning works
This is a hands-on RTC learning reference, not a single production service. Its runnable workflow is a browser connecting to the unified Node server, which serves a dashboard and demonstrates long polling, SSE, and WebSockets; separate files provide standalone versions. The README also documents short polling, broker-based WebSocket scaling, and WebRTC signaling and peer media as conceptual branches. Those latter capabilities are documented rather than implemented in the sampled runtime. The dashboard source was not sampled, so its protocol-specific wiring is not inferred.
Main entry points: server.js Unified HTTP Server · README.md Signaling Server · index.html Testing Dashboard · longPolling.js Standalone Long Poll
Components 16
Runnable Servers
- Unified HTTP Server
server.js - Testing Dashboard
public/index.html
Communication Patterns
- Long-Poll Route
server.js - SSE Route
server.js - WebSocket Handler
server.js - Standalone Long Poll
longPolling.js - Standalone SSE
serverSentEvents.js - Standalone WebSocket
webSocket.js - Short Polling
README.md
Scaling Concepts
- Message Broker
README.md - WebSocket Server Nodes
README.md
WebRTC Concepts
- Peer A
- Signaling Server
README.md - Peer B
- Direct Peer Media
README.md
Other components
- Browser Client
Connections 23
- Browser Client → Unified HTTP Server: requests content
server.js - Unified HTTP Server → Testing Dashboard: serves page
server.js - Unified HTTP Server → Long-Poll Route: routes /poll
server.js - Unified HTTP Server → SSE Route: routes /events
server.js - Unified HTTP Server → WebSocket Handler: attaches handler
server.js - Browser Client → Long-Poll Route: long-polls
README.md - Long-Poll Route → Browser Client: returns response
server.js - Browser Client → SSE Route: opens event stream
README.md - SSE Route → Browser Client: pushes events
server.js - Browser Client → WebSocket Handler: opens socket
README.md - WebSocket Handler → Browser Client: echoes messages
server.js - Browser Client → Standalone Long Poll: requests /poll
longPolling.js - Browser Client → Standalone SSE: connects to /events
serverSentEvents.js - Browser Client → Standalone WebSocket: opens socket
webSocket.js - Browser Client → Short Polling: repeats requests
README.md - WebSocket Server Nodes → Message Broker: publishes messages
README.md - Message Broker → WebSocket Server Nodes: broadcasts messages
README.md - Peer A → Signaling Server: sends SDP and ICE
README.md - Signaling Server → Peer B: forwards metadata
README.md - Peer B → Signaling Server: sends SDP and ICE
README.md - Signaling Server → Peer A: forwards metadata
README.md - Peer A → Direct Peer Media: streams directly
README.md - Direct Peer Media → Peer B: delivers media
README.md