Files
dotnet-systemd-example/Server/Program.cs
T

36 lines
715 B
C#

using System.Net;
using System.Net.Sockets;
using var listener = new Socket(SocketType.Stream, ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.Loopback, 9000));
Console.WriteLine($"Listening on {listener.LocalEndPoint}");
listener.Listen();
while (true)
{
var connection = await listener.AcceptAsync();
_ = Task.Run(async () =>
{
var buffer = new byte[4096];
try
{
while (true)
{
int read = await connection.ReceiveAsync(buffer, SocketFlags.None);
if (read == 0) break;
await connection.SendAsync(buffer[..read], SocketFlags.None);
}
}
finally
{
connection.Dispose();
}
}
);
}