C# StreamWriter在收到大消息时自动刷新缓冲区
概述 我有一个客户机服务器,其中有C# StreamWriter在收到大消息时自动刷新缓冲区,c#,networking,flush,streamwriter,C#,Networking,Flush,Streamwriter,概述 我有一个客户机服务器,其中有streamWriter.WriteLine(messageToClient)。streamReader.ReadLine()正在读取2000长度的消息 这里的问题是streamWriter.Flush()对较大的消息没有影响,因为我的目标是服务器能够在缓冲区之间直接刷新(具有fluid server消息输出)和不刷新(服务器响应将混在一起,直到达到要刷新的缓冲区限制) 问题:我认为缓冲区是自动刷新的,因为它们已满?那么streamWriters的最大缓冲区大小
streamWriter.WriteLine(messageToClient)在服务器上发送大型邮件的代码>。streamReader.ReadLine()客户端上的代码>正在读取2000长度的消息
这里的问题是streamWriter.Flush()
对较大的消息没有影响,因为我的目标是服务器能够在缓冲区之间直接刷新(具有fluid server消息输出)和不刷新(服务器响应将混在一起,直到达到要刷新的缓冲区限制)
问题:我认为缓冲区是自动刷新的,因为它们已满?那么streamWriters的最大缓冲区大小是多少
我已经使用更小的messageToClient
进行了测试,并且没有按照预期刷新流。又名服务器流一次向客户端输出一组小消息,可能是因为缓冲区已满。您尝试过使用吗
编辑:在reflector中四处搜索,默认缓冲区大小似乎是1024字节
public StreamWriter(
Stream stream,
Encoding encoding,
int bufferSize
)