2010-02-22 66 views
1

正在構建一個通過HTTP與Java Tomcat服務器通信的C#前端。XML壓縮兼容Java和C#

WOX包用於對Java和C#端的對象進行反序列化。

但是,我想通過使用一些XML壓縮包來減少通過HTTP發送XML字符串所花費的時間。

我的問題是:

  1. 是使用導致傳遞XML字符串來回WOX德/系列化,C#和Java之間溝通的最佳方式是什麼?

  2. 我應該考慮哪些XML壓縮庫(必須是免費的)來提高速度?

非常感謝。 Chapax

回答

2

我最初嘗試在HTTP級別應用gzip壓縮 - 部分原因是應該能夠透明地應用到您的應用。 XML通常壓縮得很好。你有沒有具體的目標,所以你會知道什麼時候結果「足夠好」? (如果沒有,那可能是第一個要解決的問題 - 否則你將不知道何時停止。)Tomcat支持gzip壓縮爲connector configuration option

至於XML是否是正確的路要走 - 它肯定有優點和缺點。有很多其他序列化選項,包括JSON,ThriftProtocol Buffers。在平臺集成,大小,可讀性,版本控制等方面各有優點和缺點。你應該研究什麼對你很重要,然後根據這些考慮來看看選項。

+0

非常感謝Jon ...我應該使用什麼樣的軟件包來在Java/C#中應用gzip壓縮? 「足夠好」的確能夠在最短的時間內傳遞200k行數據。 稍後會考慮其他XML序列化器......現在將與WOX一起使用。 再次感謝。 – Chapax 2010-02-22 10:39:47

+0

@Chapax:Tomcat中的Gzip壓縮:請參閱鏈接的連接器配置頁面。在C#中,當你抓取時你可能需要添加一個頭(「Accept-Encoding:gzip」),但這應該就是你所要做的。 – 2010-02-22 10:45:56