我正在構建一個網絡應用程序,需要能夠從正常網絡流量切換到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