From 797d4c1d5108b2bc0e23cfc8fb40ac21dfaa2a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20L=C3=B6ffel?= Date: Tue, 9 Oct 2018 15:39:29 +0200 Subject: [PATCH] added basic example --- examples/basic.go | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 examples/basic.go diff --git a/examples/basic.go b/examples/basic.go new file mode 100644 index 0000000..6784f4b --- /dev/null +++ b/examples/basic.go @@ -0,0 +1,46 @@ +package main + +import ( + "context" + "github.com/loeffel-io/recws" + "log" + "time" +) + +func main() { + ctx, cancel := context.WithCancel(context.Background()) + ws := recws.RecConn{} + ws.Dial("wss://echo.websocket.org", nil) + + go func() { + time.Sleep(2 * time.Second) + cancel() + }() + + for { + select { + case <-ctx.Done(): + go ws.Close() + log.Printf("Websocket closed %s", ws.GetURL()) + return + default: + if !ws.IsConnected() { + log.Printf("Websocket disconnected %s", ws.GetURL()) + continue + } + + if err := ws.WriteMessage(1, []byte("Incoming")); err != nil { + log.Printf("Error: WriteMessage %s", ws.GetURL()) + return + } + + _, message, err := ws.ReadMessage() + if err != nil { + log.Printf("Error: ReadMessage %s", ws.GetURL()) + return + } + + log.Printf("Success: %s", message) + } + } +}