서버에 연결하여 다른 정보를 가져 오는 클라이언트 응용 프로그램을 개발합니다. 다중 스레드 응용 프로그램입니다. 몇 개의 스레드로 시작하면 완벽하게 작동합니다. 은 때까지 다음 메시지와 함께 예외를 던지기 시작합니다HttpWebRequest : 원격 서버에 연결할 수 없습니다.
내가 TCPView를 사용했습니다 내 클라이언트 응용 프로그램에 대해 아무것도 찾을 수 없습니다
"원격 서버에 연결할 수 없습니다." 그래서 "Unable to Connect"를 반환하면 HTTP 연결도 OPEN하지 않습니다 ...
연결이 열리지 않는 이유는 무엇입니까?
감사합니다,
편집 : 몇 분 스레드와주기에 점점 후
HttpWebResponse response = null;
Stream resStream = null;
StreamReader reader = null;
string res = "";
try
{
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(requestUrl);
if (cookies_ == null)
{
cookies_ = new CookieContainer();
}
request.Timeout = timeoutVal_;
request.ReadWriteTimeout = timeoutVal_ * 2;
request.KeepAlive = false;
if (bUseCookies)
{
request.CookieContainer = cookies_;
}
// execute the request
response = (HttpWebResponse)
request.GetResponse();
resStream = response.GetResponseStream();
reader = new StreamReader(resStream);
res = reader.ReadToEnd();
}
catch (Exception ex)
{
throw new Exception(siteToken + " " + ex.Message);
}
finally
{
if (response != null)
response.Close();
if (resStream != null)
resStream.Close();
if (reader != null)
{
reader.Close();
}
}
return res;
: 여기
내가 페이지의 콘텐츠를 fecth 여러 스레드에서 사용하고 코드입니다 시간 초과 예외 또는 서버에 연결할 수 없습니다.
피들러를 시작하면 연결이 다시 활성화되고 스레드가 얼마 동안 계속 작동한다는 이상한 점이 있습니다. Fiddler는 어떻게 문제를 해결합니까?
답변 : 디버거가 무엇입니까? 진짜 대답 : 서버에 연결할 수없는 경우 TCPView에 OPEN이 나타나지 않습니다. 우리는 최소한 당신이 무슨 일이 일어나는지 알아내는 데 도움이되는 몇 가지 코드를보아야 할 것입니다. –