我正在构建一个网络应用程序,需要能够从正常网络流量切换到zlib压缩流,中间流。我对此事的看法涉及到布尔开关,当开启时会导致网络代码将所有数据通过一个可将IEnumerable<byte>
馈入的类传递,然后取出解压缩的流,并将其传递给已存在的协议分析代码。.NET中很好的zlib实现?
事情我已经看了看:
- ZLib.NET - 这似乎有点... Ecclectic,而不是我想要什么相当。尽管如此,仍然会有一个体面的开始。 (Jon Skeet's comments here几乎不能激发我)
- SharpZipLib - 这似乎并不支持zlib?任何人都可以确认或否认这一点?
我非常喜欢和所有的托管解决方案,但让我们来看看...在.NET中有没有这种库的其他实现,这可能更适合我想要做的,或者我应该采用ZLib.NET并将其作为开始?
PS:
乔恩的要求更多的细节,所以在这儿呢。我想实现MCCP 2。这涉及在网络流中发送的信号,并且该信号之后的所有信息都是zlib压缩数据流。在上面的链接中有链接到它们的意思。无论如何,要清楚的是,我在接收端(客户端,而不是服务器),并且我已经从网络流中读出了一堆数据,并且切换将在这中间(全部可能性至少),所以任何解决方案都需要能够在接管NetworkStream(或我手动输入其余数据)之前将一些额外的数据输入到它中。
当您获得特定数据包时,压缩包的标头是否会开始? – 2009-02-04 21:35:12
我不知道这件事。就我个人而言,我不会太在意这个细节。我怀疑这是服务器实现特定的,在任何描述文档中都没有提及它。 – 2009-02-04 21:53:37
您是否曾经为MCCP 2获得过良好的图书馆? – m4tt1mus 2011-07-28 22:00:31