ayamir / webdc

Minimal WebRTC DataChannel Implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WebDC

WebRTC datachannel library and server.

The library implements a minimal subset of WebRTC to achieve unreliable and out of order UDP transfer for browser clients. See the EchoServer for how to connect to the server from a browser. The core library (Dc) is platform independent. Refer to HostEpoll for linux-platform usage.

Example

The EchoServer should listen the public IP directly.

image-20240227110417430

image-20240221215854419

Developing

bash ./generate_clangd.sh # generate .clangd file for clangd-based editor

Building

Build passed on Ubuntu18.04 with openssl 1.1.1.

mkdir build && cd build
cmake ..
make -j

Todo

  • user data fragmentation
  • ordered transmission
  • reliable transmission
  • multi-stream multiplexing

About

Minimal WebRTC DataChannel Implementation

License:MIT License


Languages

Language:C++ 64.4%Language:C 32.5%Language:CMake 2.7%Language:Shell 0.4%