private static void HandleClient(object?obj) { var(client, serviceProvider) = ((TcpClient, IServiceProvider))obj; Console.WriteLine("Client connected: " + client.Client.RemoteEndPoint); try { var stream = new TLSStream(client.GetStream(), serviceProvider); try { stream.AuthenticateAsServer(); } catch (UnableToEstablishSecureConnectionException ex) { Console.WriteLine(ex); return; } var reader = new StreamReader(stream); var writer = new StreamWriter(stream) { AutoFlush = true }; var msg = reader.ReadLine(); writer.WriteLine("Thanks! Your message was: " + msg); } catch (Exception ex) { Console.Error.WriteLine(ex); client.Close(); } }
static void ClientMain(string[] args) { var services = ContainerBuilder.Create(); var serviceProvider = services.BuildServiceProvider(); var client = new TcpClient(); client.Connect(new IPEndPoint(IPAddress.Loopback, 4433)); var stream = new TLSStream(client.GetStream(), serviceProvider); stream.AuthenticateAsClient(); var reader = new StreamReader(stream); var writer = new StreamWriter(stream) { AutoFlush = true }; var msg = reader.ReadLine(); writer.WriteLine("Thanks! Your message was: " + msg); }