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

时间:2020-06-25 04:58:41

标签: .net tcpclient

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

以下是代码的摘要:

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

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

TcpClient如何处理它们?是否尝试建立与第一个的连接,然后尝试建立与第二个的连接,等等?

1 个答案:

答案 0 :(得分:1)

It tries them one at a time,并在第一个成功或全部失败后返回。