因此,使用死网站的主机名调用 Dns.GetHostAddresses 通常会引发异常,指出“没有已知的此类主机”。我的用例中的异常会导致大量额外的 CPU 使用,而额外的 CPU 使用可能是致命的。有没有办法覆盖该方法以仅返回 null 或其他内容?异常是 SocketException 表示它使用套接字,我查看了参考源并没有在 DNS.GetHostAddresses(string) 中找到任何套接字引用。我确实看到正在创建一个 SocketException 对象,但没有使用它。
3 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
我不确定我是否正确理解您的问题,但是您是否正在尝试实现这样的目标?
private void button1_Click(object sender, EventArgs e)
{
try
{
IPHostEntry hostEntry;
hostEntry = Dns.GetHostEntry(textBox3.Text);
if (hostEntry.AddressList.Length > 0)
{
var ip = hostEntry.AddressList[0];
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
s.Connect(ip, 80);
textBox5.Text = ip.ToString();
}
}
catch
{
textBox5.Text = "No Conversion available";
}
- 3 回答
- 0 关注
- 219 浏览
添加回答
举报
0/150
提交
取消