C# TCP 客户端异步实时接收数据示例
C# TCP 客户端异步实时接收数据的示例代码如下:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
namespace AsyncTcpClient
{
class Program
{
static void Main(string[] args)
{
StartClient();
Console.ReadLine();
}
static async void StartClient()
{
try
{
IPAddress ipAddress = IPAddress.Parse('127.0.0.1');
int port = 12345;
TcpClient client = new TcpClient();
await client.ConnectAsync(ipAddress, port);
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[1024];
while (true)
{
int bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
string message = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine('Received message: ' + message);
}
}
catch (Exception ex)
{
Console.WriteLine('Error: ' + ex.Message);
}
}
}
}
在此示例中,我们使用了异步方法 ConnectAsync() 来连接到服务器,然后使用异步方法 ReadAsync() 来读取从服务器发送过来的数据。在 ReadAsync() 方法内部,我们使用了一个无限循环来不断接收数据,并将接收到的数据转换为字符串并输出到控制台上。需要注意的是,这个循环是在异步方法内部运行的,因此并不会阻塞主线程。
原文地址: https://www.cveoy.top/t/topic/onqR 著作权归作者所有。请勿转载和采集!