C#TCP客户端发送数据到服务器超时后关闭本次请求
可以使用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对象以释放资源
原文地址: https://www.cveoy.top/t/topic/fIvR 著作权归作者所有。请勿转载和采集!