connect 静态方法

Future<RawSocket> connect(
  1. dynamic host,
  2. int port, {
  3. dynamic sourceAddress,
  4. int sourcePort = 0,
  5. Duration? timeout,
})

创建到主机和端口的新的套接字连接。

返回一个 Future 对象,一旦连接完成,将包含一个 RawSocket 对象,或者在主机查找或连接失败时返回一个错误。

host 可以是 StringInternetAddress。如果 hostStringconnect 将执行 InternetAddress.lookup 并尝试所有返回的 InternetAddress,直到连接成功。如果同时提供了 IPv4 和 IPv6 地址,则优先使用 IPv4 地址。如果无法建立连接,则返回第一个失败连接的错误。

可以使用 sourceAddress 参数来指定在建立连接时绑定的本地地址。sourceAddress 可以是 StringInternetAddress。如果传递的是一个 String,则必须包含一个数值 IP 地址。

sourcePort 定义了要绑定的本地端口号。如果未指定或为零,将选择一个端口号。

timeout 参数用于指定建立连接的最大允许时间。如果 timeout 比系统级超时时间长,则超时可能会早于 timeout 中指定的时间发生。超时后,将抛出 SocketException 异常,并取消对所有 host 的持续连接尝试。

实现

external static Future<RawSocket> connect(host, int port,
    {sourceAddress, int sourcePort = 0, Duration? timeout});