В чем причина ошибки 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."
Хотя через браузер запрос успешно получает нужный ответ от сервера