code: func (c *Client) Dial(n, addr string) (net.Conn, error) {
  	// Parse the address into host and numeric port.
  	host, portString, err := net.SplitHostPort(addr)
  	if err != nil {
  		return nil, err
  	}
  	port, err := strconv.ParseUint(portString, 10, 16)
  	if err != nil {
  		return nil, err
  	}
  	// Use a zero address for local and remote address.
  	zeroAddr := &net.TCPAddr{
  		IP:   net.IPv4zero,
  		Port: 0,
  	}
  	ch, err := c.dial(net.IPv4zero.String(), 0, host, int(port))
  	if err != nil {
  		return nil, err
  	}
  	return &tcpChanConn{
  		Channel: ch,
  		laddr:   zeroAddr,
  		raddr:   zeroAddr,
  	}, nil
  }
docs: // Dial initiates a connection to the addr from the remote host.
  // The resulting connection has a zero LocalAddr() and RemoteAddr().