This is my attempt at building and easy to use, client-server webrtc-based net.Conn implementation. Feel free to use it and file bug reports. I am by no means a webrtc expert, so if you see any problems with my implementation, then feel free to open an issue! Happy to answer any questions as needed!
- This is for client-server connections only! The main use case is if you want to use webrtc sockets in browser, but don't want to deal with the entire webrtc stack
- The connection is signaled over Websockets, so you don't need to use any ICE servers.
I've tested this on:
- Browsers (Firefox, Chrome, Edge)
- Linux (desktop app)
- Windows (desktop app)
- Replace logger with injectable logger interface
- Ability for user to select the level of reliability/orderdness that they want on the data channel
- Close websocket after webrtc negotiation has completed (currently ws stays open until net.Conn is closed)
import "github.com/unitoftime/rtcnet"
See Example
- I'm currently using this for an online game I'm building for browser. You can find it here
- MIT