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

   2024-09-30 2660
核心提示:在C#中,使用TcpClient类可以实现TCP客户端的功能using System;using System.Net;using System.Net.Sockets;class Program{stati

在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实例并取消连接。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号