私は、サーバーに接続し、そこから別の情報を取得するクライアントアプリケーションを開発します。それはマルチスレッドのアプリです。いくつかのスレッドで起動すると完璧に動作します。 は、それまでの間、次のメッセージで例外をスロースタート:HttpWebRequest:リモートサーバーに接続できません
私はTCPViewを使用しましたし、私のクライアントアプリケーションについては何も見つけることができません
「リモートサーバーに接続できません」。だから、 "Unable to Connect"を返すと、http接続も開けません。
なぜ接続が開かれないのでしょうか?
おかげで、
EDIT:数分のスレッドがでサイクルに取得した後
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と表示されません。私たちは、少なくとも何が起こっているのか理解するのに役立つコードを見る必要があります。 –