using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace ConsoleApplication22
{
class Program
{
static void Main(string[] args)
{
IPAddress address = IPAddress.Loopback;
IPEndPoint endPoint = new IPEndPoint(address, 45678);
TcpListener newServer = new TcpListener(endPoint);
newServer.Start();
Console.WriteLine("Start listening.");
while (true)
{
TcpClient newClient = newServer.AcceptTcpClient();
Console.WriteLine("Connection established.");
NetworkStream ns = newClient.GetStream();
byte[] request = new byte[4096];
int length = ns.Read(request, 0, 4096);
string requestString = Encoding.UTF8.GetString(request, 0, 4096);
Console.WriteLine(requestString);
string statusLine = "HTTP/1.1 200 OK\r\n";
byte[] statusLineBytes = Encoding.UTF8.GetBytes(statusLine);
string responseBody = "<body><head><title>From Jean Server</title></head><body><h1>Hello</h1></body></html>";
byte[] responseBodyBytes = Encoding.UTF8.GetBytes(responseBody);
string responseHeader = string.Format("Content-Type: text/html;charset=UTF-8\r\nContent-Length: {0}\r\n\r\n", responseBody.Length);
byte[] responseHeaderBytes = Encoding.UTF8.GetBytes(responseHeader);
ns.Write(statusLineBytes, 0, statusLineBytes.Length);
ns.Write(responseHeaderBytes, 0, responseHeaderBytes.Length);
ns.Write(responseBodyBytes, 0, responseBodyBytes.Length);
ns.Close();
if (Console.KeyAvailable)
break;
}
newServer.Stop();
}
}
}