簡単な http サービスを作成するための次の記事を読みました: Create a Simple Threaded HTTP Server with C# 何かを実装する前に、少しジレンマに陥っています。
http リクエストを複数の宛先に送信し (同時に宛先の最大数に制限があります)、各宛先から応答を受信するサービスがあります。応答は短く、要求が正しく処理されたかどうかのステータス (OK の場合は 200、またはその他のコード) のみです。
上記の記事では、ブロックされてリクエストをリッスンしている while ループ内にリスナーを作成しています。
23 private static void Listen()
24 {
25 listener.Start();
26 WriteLog("Listening On: " + port.ToString());
27
28 while (true)
29 {
30 WriteLog("Waiting for connection...");
31 TcpClient client = listener.AcceptTcpClient();
32 Thread listenThread
= new Thread(new ParameterizedThreadStart(ListenThread));
33 listenThread.Start(client);
34 }
35 }
デバイスにリクエストを送信し、それぞれからの応答をリッスンする必要があります。1 つの応答を取得した場合、ループがリッスン コマンド (31) に戻るまで、別の応答がすり抜けてしまう可能性はありますか?
処理する HTTP リクエストの量が限られている場合、各リスナーに対してリスナーを作成する必要がありますか?