在C#中,可以通过并行任务中的TCP Socket来接收数据。下面是一个示例代码:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 创建TCP监听器
TcpListener listener = new TcpListener(IPAddress.Any, 1234);
listener.Start();
Console.WriteLine("等待客户端连接...");
while (true)
{
// 接受客户端连接
TcpClient client = await listener.AcceptTcpClientAsync();
Console.WriteLine("客户端已连接");
// 处理客户端连接的任务
Task.Run(() => HandleClient(client));
}
}
static void HandleClient(TcpClient client)
{
try
{
// 获取网络流
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[1024];
int bytesRead;
// 循环接收数据
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
// 处理接收到的数据
string data = System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("接收到数据: " + data);
}
// 关闭连接
client.Close();
}
catch (Exception ex)
{
Console.WriteLine("发生错误: " + ex.Message);
}
}
}
这段代码创建了一个TCP监听器,等待客户端连接。一旦有客户端连接,就会创建一个新的任务来处理该客户端连接。在处理任务中,通过TcpClient的GetStream方法获取网络流,然后使用NetworkStream的Read方法来接收数据。接收到的数据可以根据需要进行处理。
这个示例中使用了C#的异步编程模型,通过await关键字和async修饰符来实现并行任务。在处理客户端连接的任务中,可以根据实际需求进行业务逻辑的处理。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云云数据库(https://cloud.tencent.com/product/cdb)可以用于部署和管理云计算应用。
云+社区沙龙online第5期[架构演进]
小程序·云开发官方直播课(数据库方向)
腾讯云湖存储专题直播
云+社区沙龙online[数据工匠]
云+社区技术沙龙[第17期]
云原生正发声
云+社区沙龙online[数据工匠]
企业创新在线学堂
领取专属 10元无门槛券
手把手带您无忧上云