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,
  );
}