code: func (c *Client) connect() error {
  	dialer := &net.Dialer{
  		Timeout:   30 * time.Second,
  		KeepAlive: 30 * time.Second,
  	}
  
  	conn, err := dialer.Dial("tcp", fmt.Sprintf("%s:%d", c.serverHost,
  		c.serverPort))
  	if err != nil {
  		return fmt.Errorf("error dialing: %s", err)
  	}
  
  	c.conn = conn
  	c.rw = bufio.NewReadWriter(bufio.NewReader(c.conn), bufio.NewWriter(c.conn))
  	return nil
  }
docs: // connect opens a new connection to the server.