0
我在C#中有一個TCP服務器軟件。我正在使用下面的代碼讀取來自客戶端的數據。當TCP客戶端大量向TCP服務器發送數據時,NetworkStream數據受到擠壓
DataLen = NetworkStream.Read(Data, 0, Data.Length);
在這種情況下,當一個客戶端的時間一個非常小的週期不斷髮送數據,而我評估的最後一個數據緩衝區的新數據來源。在這種情況下我應該做什麼?
我在C#中有一個TCP服務器軟件。我正在使用下面的代碼讀取來自客戶端的數據。當TCP客戶端大量向TCP服務器發送數據時,NetworkStream數據受到擠壓
DataLen = NetworkStream.Read(Data, 0, Data.Length);
在這種情況下,當一個客戶端的時間一個非常小的週期不斷髮送數據,而我評估的最後一個數據緩衝區的新數據來源。在這種情況下我應該做什麼?
TCP協議提供了可靠的,有序的字節流傳送。因此你不必擔心這一點。
當你讀得太慢而網絡緩衝區太小時,可能發生的最壞情況是重發。因此,您可能需要將閱讀和處理分成不同的線程。
這些請求對應用程序不是透明的,你會看到只是緩慢,需要像wireshark/tcpdump這樣的工具來檢測它們。
是的,這是絕對正確的。我正在閱讀相同的數據2-3次。我該怎麼辦? – sanchop22
當我使用數據長度是NetworkStream.Read方法的返回值時,問題就解決了。 – sanchop22