connect 静态方法

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

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

返回一个 Future,当连接成功时,将完成一个 RawSocket,或者如果主机查找或连接失败,将返回错误。

host 可以是一个 String 或一个 InternetAddress。如果 host 是一个 String,则 connect 将执行 InternetAddress.lookup 并尝试所有返回的 InternetAddress。如果同时有 IPv4 和 IPv6 地址可用,则优先连接 IPv4。如果无法建立任何连接,则返回第一次失败连接的错误。

参数 sourceAddress 可以用来指定连接时绑定的本地地址。sourceAddress 可以是一个 String 或一个 InternetAddress。如果传递一个 String,则它必须包含一个数字 IP 地址。

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

参数 timeout 用于指定等待建立连接的最大允许时间。如果 timeout 比系统级别超时时间长,则超时可能早于 timeout中指定的超时时间发生。在超时的情况下,将抛出一个 SocketException,并取消对所有 host 的当前连接尝试。

实现

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