title: Having trouble with web sockets in golang
body: <p>The following function works as follows. The send channel receives a new msg of type Message (a struct defined else where) write to the websocket. It seems that client.socket.WriteJSON(msg) returns an error. It print "websocket: close sent" . I attempted to debug things and I realized a few things. msg is generated properly, the error will occur if I try to use writeJSON on an object, and the error only occurs if the writeJSON occurs after the  msg := range client.send . Sorry if this was confusing. I'm happy to clarify.</p>
  
  <pre><code>  func (client *Client) Write(){
          for msg := range client.send {
              if err := client.socket.WriteJSON(msg); err != nil {
                  fmt.Println(err)
                  break
              }
          }
          client.socket.Close();
      }
  </code></pre>