在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
實例并取消連接。