[英]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.