可以使用TcpClient类的SendTimeout属性来设置发送数据的超时时间,在发送数据时,如果超过了指定的时间仍未完成发送,则会抛出SocketException异常,代码如下:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

class Program
{
    static void Main(string[] args)
    {
        // 连接到服务器
        TcpClient client = new TcpClient();
        client.Connect(IPAddress.Parse("127.0.0.1"), 8888);

        // 设置发送超时时间为5秒
        client.SendTimeout = 5000;

        try
        {
            // 发送数据
            byte[] data = Encoding.UTF8.GetBytes("Hello, server!");
            client.GetStream().Write(data, 0, data.Length);
        }
        catch (SocketException ex)
        {
            Console.WriteLine($"发送数据失败:{ex.Message}");
        }
        finally
        {
            client.Close();
        }
    }
}

在上面的代码中,如果发送数据超时,则会在控制台输出异常信息。无论发送是否成功,都需要关闭TcpClient对象以释放资源

C#TCP客户端发送数据到服务器超时后关闭本次请求

原文地址: https://www.cveoy.top/t/topic/fIvR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录