簡體   English   中英

給定大消息時,StreamWriter自動刷新緩沖區

[英]StreamWriter automatically flushing buffer when given large messages

概觀

我有一個客戶端服務器,其中有streamWriter.WriteLine(messageToClient); 在服務器上發送大郵件。 streamReader.ReadLine(); 在客戶端上讀取2000條長度的消息很好。

這里的問題是streamWriter.Flush()對較大的消息沒有影響,因為我的目標是服務器能夠在直接刷新(具有流暢的服務器消息輸出)而不是(服務器刷新)緩沖區之間切換響應會混雜在一起,直到達到刷新的緩沖區限制)。

問題:我認為緩沖區是自動刷新的,因為它們已滿? 那么streamWriters的最大緩沖區大小是多少?

我已經測試過使用更小的messageToClient ,並且不刷新流按預期工作。 又稱服務器流一次向客戶端輸出一組小消息,大概是因為緩沖區已滿。

您是否嘗試過使用將緩沖區大小作為參數的構造函數

public StreamWriter(
    Stream stream,
    Encoding encoding,
    int bufferSize
)

編輯 :在反射器中四處尋找,默認緩沖區大小為1024字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM