description

# connect static method

Future<Socket> connect(

1. dynamic host,
2. int port, {
3. dynamic sourceAddress,
4. int sourcePort = 0,
5. Duration? timeout,

})

Creates a new socket connection to the host and port and returns a Future that will complete with either a Socket once connected or an error if the host-lookup or connection failed.

`host` can either be a String or an InternetAddress. If `host` is a String, connect will perform a InternetAddress.lookup and try all returned InternetAddresses, until connected. Unless a connection was established, the error from the first failing connection is returned.

The argument `sourceAddress` can be used to specify the local address to bind when making the connection. The `sourceAddress` can either be a String or an InternetAddress. If a String is passed it must hold a numeric IP address.

The `sourcePort` defines the local port to bind to. If `sourcePort` is not specified or zero, a port will be chosen.

The argument `timeout` is used to specify the maximum allowed time to wait for a connection to be established. If `timeout` is longer than the system level timeout duration, a timeout may occur sooner than specified in `timeout`. On timeout, a SocketException is thrown and all ongoing connection attempts to `host` are cancelled.

## Implementation

    static Future<Socket> connect(
      host,
      int port, {
      sourceAddress,
      int sourcePort = 0,
      Duration? timeout,
    }) {
      final IOOverrides? overrides = IOOverrides.current;
      if (overrides == null) {
        return Socket._connect(
          host,
          port,
          sourceAddress: sourceAddress,
          sourcePort: sourcePort,
          timeout: timeout,
        );
      }
      return overrides.socketConnect(
        host,
        port,
        sourceAddress: sourceAddress,
        sourcePort: sourcePort,
        timeout: timeout,
      );
    }