API: Review DataChannel

Resolves #427
This commit is contained in:
backkem
2019-02-21 10:36:59 +01:00
committed by Michiel De Backker
parent bfba81167e
commit f5d11df18d
10 changed files with 99 additions and 218 deletions

View File

@@ -5,7 +5,6 @@ import (
"time"
"github.com/pions/webrtc"
sugar "github.com/pions/webrtc/pkg/datachannel"
"github.com/pions/webrtc/examples/internal/signal"
)
@@ -44,25 +43,19 @@ func main() {
for range time.NewTicker(5 * time.Second).C {
message := signal.RandSeq(15)
fmt.Printf("Sending %s \n", message)
fmt.Printf("Sending '%s'\n", message)
err := d.Send(sugar.PayloadString{Data: []byte(message)})
// Send the message as text
err := d.SendText(message)
if err != nil {
panic(err)
}
}
})
// Register message handling
d.OnMessage(func(payload sugar.Payload) {
switch p := payload.(type) {
case *sugar.PayloadString:
fmt.Printf("Message '%s' from DataChannel '%s' payload '%s'\n", p.PayloadType().String(), d.Label, string(p.Data))
case *sugar.PayloadBinary:
fmt.Printf("Message '%s' from DataChannel '%s' payload '% 02x'\n", p.PayloadType().String(), d.Label, p.Data)
default:
fmt.Printf("Message '%s' from DataChannel '%s' no payload \n", p.PayloadType().String(), d.Label)
}
// Register text message handling
d.OnMessage(func(msg webrtc.DataChannelMessage) {
fmt.Printf("Message from DataChannel '%s': '%s'\n", d.Label, string(msg.Data))
})
})