C#からローカルで信号を発信しようとしています。目標は、localhost / serv?stream=SOME_STREAMにリクエストを送信することです。サーバーからの応答を取得する必要はありません。必要なのは、サーバーが要求を受信することだけです。現在、次のコードを使用していますが、これらのオブジェクトの使用についてはあまり気にしません。どのソリューションでも問題ありません。
private void updateStreams(string streamname)
{
WebRequest myWebRequest = WebRequest.Create(new Uri("http://localhost/serv?stream=" + streamname));
WebResponse myWebResponse = myWebRequest.GetResponse();
myWebResponse.Close();
}
デバッグを試しましたが、ブロッキング呼び出しはmyWebRequest.GetResponse()のようですが、この行がないと要求が行われないため、この行は重要です。同じポイントでブロックする次のコードも試しました。
var myWebRequest = (System.Net.HttpWebRequest)WebRequest.Create(new Uri("http://localhost/serv?stream=" + sesh.session_name));
using (var myWebResponse = (System.Net.HttpWebResponse)myWebRequest.GetResponse())
{
var responseStream = myWebResponse.GetResponseStream();
responseStream.ReadTimeout = 2;
responseStream.Close();
responseStream.Dispose();
myWebResponse.Close();
}