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
- 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,
- Run
bash setup.sh
- 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.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.