我正在使用HttpClient
向遠程Web服務器發送異步POST請求。該遠程Web服務器響應Connection標頭設置爲keep-alive
。最終,它會關閉連接。如何在保持活動狀態的HttpResponseMessage關閉前收聽?
什麼我不知道該怎麼辦是保持接收數據,直到連接設置爲關閉。
例如,考慮下面的代碼:
HttpClient client = new HttpClient();
string requestUri = ...; //My GET uri
string content = ...; //url-encoded contents of the request
HttpResponseMessage response = await client.PostAsync(requestUri, new StringContent(content));
在上面的代碼,response
將具有Connection
頭設置爲keep-alive
。我找不到HttpResponseMessage上的任何會員,在收到第一個keep-alive
之後,我似乎都會繼續收到信息。
我不知道如何繼續接收響應,直到Connection關閉。
我能找到處理髮送keep-alive
請求的各種資源。這不是我的問題。我的問題是在接收/處理來自服務器的keep-alive
響應。
請讓我知道是否有任何我可以提供的信息來改善這個問題。
不知道我是否誤解了你的問題,但是一旦你發佈了請求並獲得了響應,週期(請求/響應)就完成了,沒有更多的數據從服務器接收。 – ManyRootsofAllEvil
@ManyRootsofAllEvil你說的是真的。如果服務器以「Connection:keep-alive」響應,這意味着服務器到客戶端的連接尚未關閉。我需要繼續接收響應,直到連接關閉。 – crush
@crush你是說你收到原始請求的部分回覆?還是你問如何接收來自相同連接的連續請求的響應? – LB2