我試圖讓我的客戶端應用程序從服務器讀取響應,並且我真的無法在此處理某種概念。從NetworkStream.Read()獲取正確的字節數並將它們放在緩衝區中
據研究我已經做了,你必須有個字節的長度從NetworkStream
讀你實際上可以讀取數據之前。這對我來說毫無意義。在到達那裏之前,你應該怎麼知道有多少數據要進入?
此代碼:
using (var stream = client.GetStream())
{
stream.Write(data, 0, data.Length);
stream.Flush();
Console.WriteLine("Data sent.\n");
Console.WriteLine("Reading response...\n");
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
}
讀取1024個字節與一組大小的緩衝器。那麼如果來自服務器的響應有更多比1024字節呢?那又怎麼樣?
如果有人能幫助我理解這個概念,我會非常感激。
這就是爲什麼服務器應該告訴你它發送了多少字節。或者,只要繼續閱讀,直到你用完了再見。 – SLaks