TcpClient在C#中的连接超时设置方法

avatar
作者
筋斗云
阅读量:0

在C#中,使用TcpClient类可以实现TCP客户端的功能

using System; using System.Net; using System.Net.Sockets;  class Program {     static void Main(string[] args)     {         try         {             // 创建一个TcpClient实例             TcpClient tcpClient = new TcpClient();              // 设置连接超时时间(单位:毫秒)             int timeout = 5000;              // 异步连接服务器             IAsyncResult result = tcpClient.BeginConnect("127.0.0.1", 8080, null, null);              // 等待连接成功或超时             bool success = result.AsyncWaitHandle.WaitOne(timeout);              if (success)             {                 Console.WriteLine("连接成功");                  // 结束异步连接                 tcpClient.EndConnect(result);                  // 这里可以添加与服务器通信的代码                  // 关闭TcpClient                 tcpClient.Close();             }             else             {                 Console.WriteLine("连接超时");                  // 取消连接                 tcpClient.Close();             }         }         catch (Exception ex)         {             Console.WriteLine("发生异常: " + ex.Message);         }     } } 

在这个示例中,我们首先创建了一个TcpClient实例。然后,我们使用BeginConnect方法异步连接到服务器。接下来,我们使用AsyncWaitHandle.WaitOne方法等待连接成功或超时。如果连接成功,我们调用EndConnect方法结束异步连接,并继续与服务器通信。如果连接超时,我们关闭TcpClient实例并取消连接。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!