C# GZipStream 4G限制-总流量还是当前流量?

C# GZipStream 4G限制-总流量还是当前流量?,c#,.net,exception,gzipstream,sslstream,C#,.net,Exception,Gzipstream,Sslstream,让aaGzipStream为SSLStream提供数据 今天第一次注意到 “gzip流不能包含超过4GB的数据。” 写入网络的程序输入数据的速度比读取器获取数据的速度快。因此,我不清楚错误的原因 这是对通过流写入的总字节数的限制,还是积压将数据从GZipStram中取出并放入SSLStream中的问题? 读卡器能够在流结束之前解压并使用数据,因此我从未想过写入的总字节数会有这样的限制 似乎没有办法检查长度 任何人都可以分享他们如何处理此事的例子吗? 代码大纲: TcpClient network

让aa
GzipStream
SSLStream
提供数据

今天第一次注意到 “gzip流不能包含超过4GB的数据。”

写入网络的程序输入数据的速度比读取器获取数据的速度快。因此,我不清楚错误的原因

这是对通过流写入的总字节数的限制,还是积压将数据从
GZipStram
中取出并放入
SSLStream
中的问题?

读卡器能够在流结束之前解压并使用数据,因此我从未想过写入的总字节数会有这样的限制

似乎没有办法检查长度

任何人都可以分享他们如何处理此事的例子吗?

代码大纲:

TcpClient network = = new TcpClient();
network.Connect(m_config.Address.Host, m_config.Address.Port);
SslStream sslStream = new SslStream(network.GetStream(), true .. ssl bits
Stream outStream = new GZipStream(sslStream, CompressionMode.Compress, true);

try {
    String nextMessage;
    while (messages.Dequeue(out nextMessage))
    {
        byte[] buffer = Encoding.UTF8.GetBytes(nextMessage + "\n");

        outStream.Write(buffer, 0, buffer.Length);
    }
} catch()

.NETFramework 2.0/3.0/3.5中的GZipStream和deflatesttream类不支持读取/写入超过4GB的数据


此限制已在.NET Framework 4.0中删除。

谢谢。关闭GZipStream并创建一个新的GZipStream之后,我遇到了一些问题,最近被诊断为连接的另一端没有处理流的末尾,并且重新启动。
TcpClient network = = new TcpClient();
network.Connect(m_config.Address.Host, m_config.Address.Port);
SslStream sslStream = new SslStream(network.GetStream(), true .. ssl bits
Stream outStream = new GZipStream(sslStream, CompressionMode.Compress, true);

try {
    String nextMessage;
    while (messages.Dequeue(out nextMessage))
    {
        byte[] buffer = Encoding.UTF8.GetBytes(nextMessage + "\n");

        outStream.Write(buffer, 0, buffer.Length);
    }
} catch()