具有多个 IP 地址的 TcpClient ConnectAsync - 行为是什么?

TcpClient ConnectAsync with multiple IP addresses - what's the behavior?

(上下文:服务提供对外部网站的监控功能;客户提供 URL 我们需要对其进行 ping;我们正在从 HttpClient 切换到 TcpClient 以提供可见性 DNS/Connect/SSL/Send/Receive 阶段)

以下是代码作用的摘要:

IPHostEntry host = await Dns.GetHostEntryAsync(hostname).ConfigureAwait(false);
await this.client.ConnectAsync(host.AddressList, port).ConfigureAwait(false);

GetHostEntryAsync returns 与主机关联的 IP 地址列表。

TcpClient 用它们做什么?它会尝试与第一个建立连接,如果失败则与第二个建立连接,依此类推?

It tries them one at a time,并且 returns 一旦第一个成功或全部失败。