Удаленный сервер возвращает ошибку 503 Сервер недоступен
У меня есть клиент-серверное приложение, написанное на C# .Net 2.0. У меня был код ответа / запроса клиента / сервера в течение 4 лет (!). В последнее время на определенной машине клиент не может подключиться к серверу:
в строке кода:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
WebException: удаленный сервер возвратил ошибку: (503) сервер недоступен.
Сообщение = "Удаленный сервер возвратил ошибку: (503) Сервер недоступен."
Состояние System.Net.WebExceptionStatus.ProtocolError
Я считаю, что эта проблема связана с конкретной машиной, поскольку у меня никогда не было этой проблемы на любой другой машине.
Что-то мне нужно настроить на этой машине? Что я упустил?
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(string.Format("http://{0}:{1}/", server, httpPort));
request.ContentType = "application/x-www-form-urlencoded";
string msgStr = msgString;
byte[] buffer = Encoding.UTF8.GetBytes(msgStr);
request.ContentLength = buffer.Length;
request.Method = "POST";
try {
System.IO.Stream requestStream = request.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
requestStream.Close();
requestStream.Dispose();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
byte[] inBuffer = new byte[10000];
Stream responseStream = response.GetResponseStream();
int iBytes = responseStream.Read(inBuffer, 0, inBuffer.Length);
StringBuilder sb = new StringBuilder(10000);
while (iBytes > 0) {
sb.Append(Encoding.UTF8.GetString(inBuffer, 0, iBytes));
iBytes = responseStream.Read(inBuffer, 0, inBuffer.Length);
}
response.Close();
responseStream.Close();
responseStream.Dispose();
if (!string.IsNullOrEmpty(sb.ToString())) {
message = HandleMessage(sb.ToString());
} else { //bug 58
message = HandleEmptyMessage(msgString);
}
} catch (System.Net.WebException we) {
_connected = false;
EventsHelper.AsyncFire(ConnectionLost, this, EventArgs.Empty);
throw new Exception(we.Message);
}