TcpClient.Connect函数连接超时的问题
问题原述:
http://topic.csdn.net/t/20060616/15/4825920.html
调用TcpClient.Connect函数连接其他机器。我在一台机器上测试程序,对于连接根本无法连接(物理连接不通)的机器,该函数用时5秒左右返回,并捕获SocketException异常。我在另一台机器上测试时,Connect函数用时26秒左右的时间才返回。请问有没有方法设置Connect函数连接超时的时间,如果超过一定时间还没有连上则返回。
解决方法:
写了个帮助类,用了线程池
class TcpClientConnector
{
/// <summary>
/// 在指定时间内尝试连接指定主机上的指定端口。
/// </summary>
/// <param name="hostname">要连接到的远程主机的 DNS 名。</param>
/// <param name="port">要连接到的远程主机的端口号。</param>
/// <param name="millisecondsTimeout">要等待的毫秒数,或 -1 表示无限期等待。</param>