超时或尝试捕获连接到服务器? (C#WinForms)

时间:2011-09-25 00:02:46

标签: c# winforms tcpclient

哪种代码优于处理与服务器的失败连接?

Something like this:

TcpClient.BeginConnect的异步回调开头的这种代码:

try
{
    tcpClient.EndConnect(async);
}
catch
{
    System.Windows.Forms.MessageBox.Show("uh oh");

    return;
}

感谢您阅读

1 个答案:

答案 0 :(得分:1)

当您的上下文处理连接超时时,我认为您的意思是您尚未在一段时间内收到来自请求的回复。

EndConnect包装在try块中并捕获抛出的任何异常并不一定构成超时。目前没有使用TcpClient处理超时的内置支持。 您的第一个链接是如何检测和处理连接超时的一个很好的示例。

这篇文章也可能对您有所帮助:Using an asynchronous client socket