github.com/cantara/gober@v0.18.8/websocket/example/client/client.go (about) 1 package main 2 3 import ( 4 "context" 5 log "github.com/cantara/bragi/sbragi" 6 "github.com/cantara/gober/websocket" 7 "github.com/cantara/gober/websocket/example" 8 "net/url" 9 "time" 10 ) 11 12 func main() { 13 nl, err := log.NewDebugLogger() 14 if err != nil { 15 log.WithError(err).Fatal("while creating new logger") 16 } 17 nl.SetDefault() 18 u, err := url.Parse("ws://localhost:4123/ping") 19 if err != nil { 20 log.WithError(err).Fatal("while parsing url") 21 } 22 reader, writer, err := websocket.Dial[example.PongData](u, context.Background()) 23 if err != nil { 24 log.WithError(err).Fatal("while dialing websocket") 25 } 26 for i := 0; i < 50; i++ { 27 writer <- websocket.Write[example.PongData]{ 28 Data: example.PongData{Data: "ping", Sleep: time.Second * 2}, 29 } 30 } 31 for i := 0; i < 50; i++ { 32 log.Info("read", "msg", <-reader) 33 } 34 }