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  }