在C#中,可以使用TcpClient類來實現TCP異步通信。以下是一個簡單的示例代碼,演示如何使用TcpClient類實現異步通信:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 創建TcpClient對象
TcpClient client = new TcpClient();
// 連接到服務器
await client.ConnectAsync("127.0.0.1", 8080);
Console.WriteLine("Connected to server");
// 發送數據
NetworkStream stream = client.GetStream();
string message = "Hello from client";
byte[] data = Encoding.ASCII.GetBytes(message);
await stream.WriteAsync(data, 0, data.Length);
Console.WriteLine("Sent: {0}", message);
// 接收數據
data = new byte[256];
int bytesRead = await stream.ReadAsync(data, 0, data.Length);
string response = Encoding.ASCII.GetString(data, 0, bytesRead);
Console.WriteLine("Received: {0}", response);
// 關閉連接
client.Close();
}
}
在這個示例中,首先創建了一個TcpClient對象,并使用ConnectAsync方法連接到指定的服務器和端口。然后通過GetStream方法獲得網絡流對象,可以使用WriteAsync和ReadAsync方法來進行數據的發送和接收。最后使用Close方法關閉連接。
需要注意的是,異步通信需要在Main方法中添加async標記,并使用async和await關鍵字來實現異步操作。