gpt4 book ai didi

.net 核心异步/等待 tcp 与 linux

转载 作者:太空狗 更新时间:2023-10-29 11:06:55 24 4
gpt4 key购买 nike

我尝试用 .net 和 linux 用代码编写简单的回显服务器

    static async Task soc() {
var listener = new TcpListener(IPAddress.Loopback, 8888);
listener.Start();
for (;;) {
logger.LogInformation("Wait new connetcion");
using(var client = await listener.AcceptTcpClientAsync())
{
logger.LogInformation("Get new connection");
echo(client);
client.Close();
}
}
}

static async void echo(TcpClient client) {
var buf = new byte[512];
using(var stream = client.GetStream())
{
var i = await stream.ReadAsync(buf, 0, 512);

if (i < 1) {
return;
}

await stream.WriteAsync(buf, 0, 512);
}
}

当我在 linux 上使用 stream.ReadAsync 之类的异步/等待 tcp 函数时 - .net 使用 epoll 或普通套接字?

最佳答案

.net core 在 linux 上使用 epoll 进行异步操作,you can see it in runtime sources

关于.net 核心异步/等待 tcp 与 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51002960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com