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