func Dial(addr string) (io.ReadWriteCloser, error) {
	conn, err := net.Dial("tcp", addr)
	if err != nil {
		return nil, fmt.Errorf("failed to dial %s", addr)
	}
	return NewConnection(conn)
}
// Dial generates a private/public key pair,
// connects to the server, perform the handshake
// and return a reader/writer.
Dial generates a private/public key pair,
connects to the server, perform the handshake
and return a reader/writer.
// Dial generates a private / public key pair // connects to the server perform the handshake // and return a reader / writer .
func Dial(addr string) (io.ReadWriteCloser, error) {
	conn, err := net.Dial("tcp", addr)
	if err != nil {
		return nil, fmt.Errorf("failed to dial %s", addr)
	}
	return NewConnection(conn)
}
func Dial ( addr string ) ( io . ReadWriteCloser , error ) { conn , err := net . Dial ( " " , addr ) if err != nil { return nil , fmt . Errorf ( " " , addr ) } return NewConnection ( conn ) }
Dial generates a private/public key pair,
connects to the server, perform the handshake
and return a reader/writer.
Dial generates a private / public key pair connects to the server perform the handshake and return a reader / writer .