Advertisement
Guest User

Untitled

a guest
Mar 17th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.87 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "flag"
  5.     "log"
  6.     "time"
  7.    
  8.     "github.com/gopherjs/websocket"
  9. )
  10.  
  11. var addr = flag.String("addr", "localhost:8080", "http service address")
  12. var buf = make([]byte, 1024)
  13.  
  14. func main() {
  15.     log.Println("HeeeeeeLLLLOooo JS")
  16.     flag.Parse()
  17.     log.SetFlags(0)
  18.  
  19.     c, err := websocket.Dial("ws://127.0.0.1:8080")
  20.     if err != nil {
  21.         log.Fatal("dial:", err)
  22.     }
  23.     defer c.Close()
  24.  
  25.     done := make(chan struct{})
  26.  
  27.     go func() {
  28.         defer close(done)
  29.         for {
  30.             _, err := c.Read(buf)
  31.             if err != nil {
  32.                 log.Println("read:", err)
  33.                 return
  34.             }
  35.             log.Printf("recv: %s", buf)
  36.         }
  37.     }()
  38.  
  39.     ticker := time.NewTicker(time.Second)
  40.     defer ticker.Stop()
  41.  
  42.     for {
  43.         select {
  44.         case <-done:
  45.             return
  46.         case t := <-ticker.C:
  47.             buf = []byte(t.String())
  48.             _, err = c.Write(buf)
  49.             if err != nil {
  50.                 log.Println("write:", err)
  51.                 return
  52.             }
  53.         }
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement