func receiver(ws *websocket.Conn, p *player.Player) chan int { quit := make(chan int, 0) go func() { for { m := &player.Message{} err := websocket.JSON.Receive(ws, m) if err != nil { break } if m.Ping != "" { fmt.Printf( "%s %s %s\n", time.Now().UTC(), time.Since(p.PingSent), ws.Request().RemoteAddr, ) } else { p.FromClient <- m } } p.Disconnected = true quit <- 1 }() return quit }