我已閱讀以下文章以創建一個簡單的http服務: Create a Simple Threaded HTTP Server with C# 在實現某些功能之前,我遇到了一些困難。Http服務器 - 收聽回覆
我有一個服務發送http請求到多個目標(同時限制最大目標),並接收來自每個目標的響應。 如果請求處理正確或不正確,則響應很短,只有狀態(如果正確,則爲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 }
我需要向設備發送請求並偵聽來自每個設備的響應。 是否有可能如果我得到一個響應,並且直到循環返回到listen命令(31),另一個響應將會滑落?
如果我處理的HTTP請求數量有限,應該爲每個或一個偵聽器創建一個偵聽器更好嗎?
「聽取回應」?通常你發出請求並獲得響應。這不是對HttpListener的描述,而只是一個普通的舊HTTP請求。爲什麼兩端都需要傾聽?你是說你打了遠程設備,然後它向你發出自己的(單獨的)請求嗎?對發起請求發出響應不是更好嗎?在我看來,至少對於你實際要做的事情有些困惑。 – spender 2013-02-17 14:22:40
@spender我明白了。可能是我沒有徹底思考過它。我的目標是將信息發送到一長串目的地。信息的每次傳輸可以包含一個小的查詢請求或文件傳輸到目的地。我想同時提交最多X個傳輸,並等待迴應。那麼對我而言,一個簡單的簡單請求可能就足夠了?謝謝 – Guy 2013-02-17 15:09:26