From 46ee8a456fdfb49e8ad80b3c3c9700518c0d3cb7 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 11 May 2019 17:07:28 -0700 Subject: [PATCH] make a seperate function to handle reading messages from the channel Signed-off-by: Jeff Carr --- example-gorilla/client.go | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/example-gorilla/client.go b/example-gorilla/client.go index ec5b1cb..28ce18f 100644 --- a/example-gorilla/client.go +++ b/example-gorilla/client.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build ignore - package main import ( @@ -20,6 +18,18 @@ import ( // var addr = flag.String("addr", "localhost:8080", "http service address") var addr = flag.String("addr", "v000185.testing.com.customers.wprod.wit.com:9000", "http service address") +func readConn(done chan struct{}, conn *websocket.Conn) { + defer close(done) + for { + _, message, err := conn.ReadMessage() + if err != nil { + log.Println("read:", err) + return + } + log.Printf("recv: %s", message) + } +} + func main() { flag.Parse() log.SetFlags(0) @@ -38,17 +48,8 @@ func main() { done := make(chan struct{}) - go func() { - defer close(done) - for { - _, message, err := c.ReadMessage() - if err != nil { - log.Println("read:", err) - return - } - log.Printf("recv: %s", message) - } - }() + // handle inbound messages on the channel + go readConn(done, c) ticker := time.NewTicker(time.Second) defer ticker.Stop()