В чем причина ошибки GET запросов на мой сервер c#?

Сервер

    TcpListener Listener;
    public Server(int Port)
    {
        Listener = new TcpListener(IPAddress.Any, Port);
        Listener.Start();
        new Client(Listener.AcceptTcpClient());
        while (true)
        {
            TcpClient Client = Listener.AcceptTcpClient();
            Thread Thread = new Thread(new ParameterizedThreadStart(ClientThread));
            Thread.Start(Client);
        }
    }
    static void Main(string[] args)
    {
        while (true)
        {
            try
            {
                new Server(80);
            }
            catch { }
        }
    }
    static void ClientThread(Object StateInfo)
    {
        try
        {
            new Client((TcpClient)StateInfo);
        }
        catch { }
    }

    class Client
    {
        public Client(TcpClient Client)
        {
            string Request = "";
            byte[] Buffer = new byte[1024];
            int Count;
            Stream stream;

            try
            {
                while ((Count = Client.GetStream().Read(Buffer, 0, Buffer.Length)) > 0)
                {
                    Request += Encoding.ASCII.GetString(Buffer, 0, Count);
                    if (Request.IndexOf("\r\n\r\n") >= 0 || Request.Length > 4096)
                    {
                        break;
                    }
                }
                byte[] Buff = Encoding.ASCII.GetBytes((((IPEndPoint)Client.Client.RemoteEndPoint).Address.ToString()));
                stream = Client.GetStream();
                using (stream)
                {
                    stream.Write(Buff, 0, Buff.Length);
                }
                stream.Close();
                Client.Close();
            }
            finally { Client.Close(); }
        }
    }

Тест GET запроса

        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://145.73.23.56");
        req.Method = "GET";
        req.Timeout = 10000;
        using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
        using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
        {
            string s = reader.ReadToEnd();
        }

Отвечает ошибкой "An error occurred while sending the request. The response ended prematurely."

Хотя через браузер запрос успешно получает нужный ответ от сервера


Ответы (0 шт):