mirror of
https://github.com/go-i2p/go-webrtc-net.git
synced 2025-07-03 19:39:41 -04:00
1.2 KiB
1.2 KiB
go-webrtc-net
Go library providing standard Go network interfaces (net.Conn, net.PacketConn, net.Listener) over WebRTC connections.
Installation
go get github.com/go-i2p/go-webrtc-net
Features
- Standard Go network interfaces over WebRTC
- Support for both reliable (TCP-like) and unreliable (UDP-like) modes
- Thread-safe implementation
- Context-aware connection management
- Built on pure Go WebRTC implementation (pion/webrtc)
Usage
// Create a WebRTC connection
conn, err := webrtc.DialConn(underlying, "remote-peer-address")
if err != nil {
log.Fatal(err)
}
defer conn.Close()
// Use it like a regular net.Conn
_, err = conn.Write([]byte("Hello WebRTC!"))
// Create a WebRTC listener
listener, err := webrtc.Listen(tcpListener)
if err != nil {
log.Fatal(err)
}
defer listener.Close()
// Accept connections
conn, err := listener.Accept()
// Create a WebRTC packet connection
pconn, err := webrtc.DialPacketConn(underlying, "remote-peer-address")
if err != nil {
log.Fatal(err)
}
defer pconn.Close()
Testing
go test ./...
License
MIT License
Contributing
- Fork the repository
- Create your feature branch
- Submit a pull request