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()方法内部,我们使用了一个无限循环来不断接收数据,并将接收到的数据转换为字符串并输出到控制台上。需要注意的是,这个循环是在异步方法内部运行的,因此并不会阻塞主线程
原文地址: http://www.cveoy.top/t/topic/fHNE 著作权归作者所有。请勿转载和采集!