Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 1.91 KB

README.md

File metadata and controls

55 lines (40 loc) · 1.91 KB

Rust WebRTC P2P example

About

Example includes a WebRTC-client written in rust using the sycamore library and a signal and WebRTC-server.

This example is still incomplete and contains fairly dirty and duplicated code. A clean and readable example of communication between a WebRTC client using web-sys and a WebRTC server using webrtc-rs can be found in the repository: https://github.com/zheland/rust-webrtc-client-server-example

State

  • Signaling protocol,
  • WebSocket signaling server,
  • Multiple signaling sessions per one WebSocket-connection,
  • Initial WebAssemply client WebRTC library implementation,
  • Multiple senders and receivers per one client,
  • WebAssemply client Reactive UI,
  • Messaging through the signaling server,
  • Client Sender PeerToPeer mode
  • Client Sender ClientServer mode
  • Client-To-Client WebRTC-connection,
  • Client-To-Client video sending and receiving,
  • Client-To-Client binary sending and receiving,
  • Client-To-Server-To-Client WebRTC comminication,

Setup

  • Run bash setup.sh

Usage

  • Run bash watch.sh
  • Open localhost:8080 in browser
  • Edit the server address if necessary and click button [Join server].
  • Click button [Open channel] to start sending video and text using the specified signaling server for the specified channel.
  • Click button [Join channel CHANNELNAME] to start receiving video and text from the specified channel.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.