https://github.com/lesomnus/vanguard-go
Signaling with data channel
https://github.com/lesomnus/vanguard-go
datachannel signaling webrtc
Last synced: 3 months ago
JSON representation
Signaling with data channel
- Host: GitHub
- URL: https://github.com/lesomnus/vanguard-go
- Owner: lesomnus
- License: apache-2.0
- Created: 2023-06-04T15:31:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-08T12:51:24.000Z (about 2 years ago)
- Last Synced: 2025-01-27T23:36:07.846Z (4 months ago)
- Topics: datachannel, signaling, webrtc
- Language: Go
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vanguard
Make extra connections from the existing connection.
## Usage
```go
import (
"github.com/lesomnus/vanguard-go"
"github.com/lesomnus/vanguard-go/signal"
"github.com/pion/webrtc/v3"
)// Implements `signal.Channel`.
struct MySigChannel {
// ...
}func (c *MySigChannel) Send(message signal.Message) error {
// Implement it.
}func (c *MySigChannel) Recv() (signal.Message, error) {
// Implement it.
}func (c *MySigChannel) Close() error {
// Implement it.
}func main() {
// Initial connection with third-party signalling server.
conn, err := webrtc.NewPeerConnection(webrtc.Configuration{})
if err != nil {
panic(err)
}peer, err := vanguard.Offer(conn, &MySigChannel{})
if err != nil {
panic(err)
}// Need extra connection?
// Signaling through existing connection!
extra_conn, err := webrtc.NewPeerConnection(webrtc.Configuration{})
if err != nil {
panic(err)
}extra_peer, err := peer.Offer(conn, "with_label")
if err != nil {
panic(err)
}
}```