Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# StreamWriter在收到大消息时自动刷新缓冲区_C#_Networking_Flush_Streamwriter - Fatal编程技术网

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
)