【发布时间】:2013-05-02 09:26:08
【问题描述】:
我想知道是否有办法避免在我无法连接时获得 SocketException,而不是使用 try/catch 捕获 SocketException。
我有这段代码可以检查服务器是否可用:
public bool CheckServerStatus(string IP, int Port)
{
try
{
IPAddress[] IPs = Dns.GetHostAddresses(IP);
using (Socket s = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp))
s.Connect(IPs[0], Port);
return true;
}
catch (SocketException)
{
return false;
}
}
提前致谢。
【问题讨论】:
-
您为什么要这样做?你不能在 catch 语句中什么都不做吗?
-
根据 msdn:当网络发生错误时,Socket 和 Dns 类会抛出 SocketException。所以这意味着你不能完全避免它
标签: c# sockets exception disconnect