TlsEcho
This sample connects to an HTTPS server, sends 'GET' request, receives a response and displays it.
Usage
The sample is a console utility that accepts an optional argument that specifies the target host and port.
> TlsEcho test.rebex.net:443
C#
// create an instance of TLS client socket using (var socket = new TlsClientSocket()) { // log communication socket.LogWriter = new ConsoleLogWriter(LogLevel.Info); // connect to a server string serverName = "test.rebex.net"; socket.Connect(serverName, 443); socket.Negotiate(); // send a request string requestTemplate = "GET / HTTP/1.1\r\nHost: {0}\r\nConnection: close\r\n\r\n"; byte[] request = Encoding.ASCII.GetBytes(string.Format(requestTemplate, serverName)); socket.Send(request); // receive response and show it on console Console.WriteLine("---RESPONSE:---"); byte[] response = new byte[4096]; int count = socket.Receive(response); while (count > 0) { Console.Write(Encoding.UTF8.GetString(response, 0, count)); count = socket.Receive(response); } Console.WriteLine(); }