我的期望是,如果端点不可用,UdpClient.Connect()
方法会抛出一个我可以捕获的异常,例如,更改标签的文本以说明程序是否已连接到服务器或不。但是,尽管我已经关闭了我正在尝试连接的服务器,但该方法完成没有问题。有没有办法解决这个问题,或者我应该尝试的其他方法?
我当前的代码(IP地址已消隐,但有效):
UdpClient chatConnection = new UdpClient();
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("xxx.xx.xxx.xxx"), 1000);
// Initialize client/server connection and set status text
try
{
chatConnection.Connect(serverEndPoint);
SL_Status.Text = "Connected";
}
catch (Exception ex)
{
SL_Status.Text = "Not Connected";
MessageBox.Show("Unable to connect to server. See console for logs.");
Console.WriteLine(ex);
}