在C#中,当你使用TcpClient
类的Connect()
方法连接到远程服务器时,可以通过设置TcpClient.ReceiveTimeout
和TcpClient.SendTimeout
属性来指定超时时间。以下是一个示例:
using System;
using System.Net.Sockets;
using System.Threading;
class Program
{
static void Main()
{
string server = "example.com";
int port = 80;
using (TcpClient client = new TcpClient())
{
try
{
// 设置连接超时时间(毫秒)
client.ConnectTimeout = 5000;
// 尝试连接到远程服务器
client.Connect(server, port);
Console.WriteLine("已连接到服务器");
// 设置接收超时时间(毫秒)
client.ReceiveTimeout = 10000;
// 设置发送超时时间(毫秒)
client.SendTimeout = 10000;
// 在这里执行你的网络操作...
}
catch (SocketException ex)
{
Console.WriteLine("连接失败: " + ex.Message);
}
finally
{
// 关闭客户端
client.Close();
}
}
}
}
在这个示例中,我们将连接超时时间设置为5秒(5000毫秒),接收超时时间设置为10秒(10000毫秒),发送超时时间也设置为10秒(10000毫秒)。如果在这些时间内无法完成连接或数据传输操作,将会引发一个异常。