private static async Task RespondToOneMsg(TcpListener listener)
{
var socket = await listener.AcceptSocketAsync();
var client = await listener.AcceptTcpClientAsync();
Console.WriteLine("Connected");
using (var stream = new NegotiateStream(client.GetStream()))
{
await stream.AuthenticateAsServerAsync(CredentialCache.DefaultNetworkCredentials, ProtectionLevel.EncryptAndSign, TokenImpersonationLevel.Identification);
Console.WriteLine($"remote {stream.RemoteIdentity.AuthenticationType}");
Console.WriteLine($"remote name = {stream.RemoteIdentity.Name}");
var recvBuffer = new byte[1024];
var byteCount = stream.Read(recvBuffer, 0, recvBuffer.Length);
Console.WriteLine(Encoding.UTF8.GetString(recvBuffer, 0, byteCount));
var sendBuffer = Encoding.UTF8.GetBytes("Reply from server");
stream.Write(sendBuffer, 0, sendBuffer.Length);
}
}