下面是一个示例代码,可以实现 C# TCP 客户端发送数据到服务器,超时后关闭本次请求:

using System;
using System.Net.Sockets;
using System.Threading;

class Client
{
    static void Main(string[] args)
    {
        TcpClient client = new TcpClient();
        client.Connect('127.0.0.1', 12345); // 连接到服务器

        NetworkStream stream = client.GetStream();
        byte[] data = System.Text.Encoding.UTF8.GetBytes('Hello, World!'); // 要发送的数据

        stream.WriteTimeout = 1000; // 设置写操作的超时时间为1秒
        try
        {
            stream.Write(data, 0, data.Length); // 发送数据
        }
        catch (System.IO.IOException ex) // 如果在超时时间内未完成发送,会抛出IOException
        {
            Console.WriteLine('发送数据超时:' + ex.Message);
        }
        finally
        {
            client.Close(); // 关闭连接
        }
    }
}

在上面的代码中,我们首先创建了一个 TcpClient 对象并连接到服务器。然后获取 NetworkStream 对象,将要发送的数据转换为字节数组,并设置写操作的超时时间为1秒。

接着使用 try-catch 语句块进行数据发送,并在 catch 块中处理超时的情况。最后,在 finally 块中关闭连接。

需要注意的是,如果在超时时间内未完成发送,会抛出 IOException 异常。因此,我们需要在 catch 块中捕获并处理该异常。

C# TCP 客户端发送数据超时处理 - 超时后关闭请求

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

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