【问题标题】:Compress and decompress XML in Flex and Java在 Flex 和 Java 中压缩和解压缩 XML
【发布时间】:2010-07-28 14:16:21
【问题描述】:

我想在 Flex 中压缩 XML,发送到 Java,在 Java 中解压缩并在 Java 中重新压缩,重新发送到 Flex,解压缩并使用。 请问怎么办?谢谢

【问题讨论】:

    标签: java xml apache-flex compression


    【解决方案1】:

    只需使用 AMF 网关,它是一种二进制格式,可为您的数据提供更小的传输大小。

    查看 BlazeDS 和/或 LiveCycle。我相信可以通过 AMF 网关发送 XML,尽管大部分时间我利用内置的“后端对象到 AS 对象”转换,

    【讨论】:

    • 您好,非常感谢在这个项目中,我们使用的是 LCDS(我不是 Flex 编码器,我是 Java 开发人员)。但是我们在 Flex 端使用 RemoteObject,所以我们直接发送 XML。是不是已经压缩了?因为 XML 的大小真的很重要,所以如果我们可以多压缩它,它会更快。
    • 如果您使用的是远程对象,那么 Jeff 上面写的内容是正确的。它被转换成二进制比直接发送 XML 快得多。您在这里没有任何工作要做。
    • RemoteObject 标签需要服务器上的 AMF 网关;所以你可能已经内置在 LiveCycle 中。所以,这很好。 AMF 是一种二进制格式。我假设他们使用压缩,但我不知道。 XML 通常很长,所以我怀疑您可以通过从 XML 转移到值对象来最小化大小。
    • 但是如果我在发送之前压缩 XML 呢?会好起来的 ??你不这么认为吗??谢谢你的回复,真的很好:)
    • 您必须进行实验才能弄清楚。当我压缩压缩文件时,它们通常会增加大小。即使您可以使“传输”大小更小,这些节省的数据是否会弥补在使用数据之前压缩/解压缩数据所需的时间?
    【解决方案2】:

    只需在您的服务器中打开 gzip。然后请求和响应将通过网络自动压缩。在 Tomcat 中,将压缩属性添加到服务器配置中,例如:

    <Connector protocol="HTTP/1.1" port="8080" connectionTimeout="20000"
        redirectPort="8443" compression="force" maxThreads="500"
        minSpareThreads="100" maxSpareThreads="75"/>
    

    【讨论】:

    • 这将压缩来自服务器的每个 HTTP 响应。客户端/浏览器决定是否向服务器发送压缩数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    相关资源
    最近更新 更多