用C#编写一个带异步委托的Tcp客户端AutoTcpClient程序
以下是一个简单的C#异步委托的Tcp客户端AutoTcpClient程序:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
namespace AutoTcpClient
{
class Program
{
static async Task Main(string[] args)
{
// 设置服务器IP和端口号
IPAddress serverIp = IPAddress.Parse("127.0.0.1");
int serverPort = 8888;
// 创建Tcp客户端
TcpClient client = new TcpClient();
try
{
// 连接服务器
await client.ConnectAsync(serverIp, serverPort);
Console.WriteLine("连接成功!");
// 获取网络流
NetworkStream stream = client.GetStream();
// 发送数据
await SendDataAsync(stream, "Hello, server!");
// 接收数据
string response = await ReceiveDataAsync(stream);
Console.WriteLine("收到服务器响应:" + response);
}
catch (Exception ex)
{
Console.WriteLine("连接失败:" + ex.Message);
}
finally
{
// 关闭Tcp客户端
client.Close();
}
Console.ReadLine();
}
// 异步发送数据
static async Task SendDataAsync(NetworkStream stream, string data)
{
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(data);
await stream.WriteAsync(buffer, 0, buffer.Length);
Console.WriteLine("发送数据:" + data);
}
// 异步接收数据
static async Task<string> ReceiveDataAsync(NetworkStream stream)
{
byte[] buffer = new byte[1024];
int bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
string response = System.Text.Encoding.UTF8.GetString(buffer, 0, bytesRead);
return response;
}
}
}
``
原文地址: https://www.cveoy.top/t/topic/eHg2 著作权归作者所有。请勿转载和采集!