Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I want to use peer-to-peer communication and data transfer for my next side project (client-server web app). I've been doing some research and WebRTC seems to be the only option for this on the client. There are a ton of libraries and product offering for facilitating STUN/TURN servers as a service, but I'm quite interested in learning more about these protocols. That being said, I'm not the best rust programmer (part of the reason of using Rust as the server is so that I can learn more), and the signalling protocols seem rather complicated. I've looked at https://github.com/webrtc-rs/webrtc and it seems promising.
I wrote a simple WebRTC demo app that might be helpful to look at: https://github.com/dicej/spin-webrtc. The front and back end are both written in Rust. You'll notice there's nothing WebRTC-specific about the back end -- it's just there to route signalling messages between clients. That's all a signalling server needs to do: route ICE and SDP messages from one client to another. It doesn't need to know anything about what's inside those messages.