3

我是 AMF 的新手,我了解到 AMF 应该非常快。

我想知道是否应该将它用于我的所有网络服务。没有闪存 VM 仍然很快吗?

4

3 回答 3

3

这个问题可以有两个答案。一个答案是关于 AMF 作为协议,另一个答案是关于实现。

作为一种协议,AMF 产生的输出很小,并且去除了大部分冗余。与类似的 SOAP 实现相比,AMF 将使用更少的网络流量字节。在某些应用程序中,这可以被认为是“更快”。

如果编码 AMF 的实现速度很快,AMF 也可以很快。Actionscript VM 可以很快对其进行编码。但是,您声明您不会使用 Flash VM。在这种情况下,您可能正在考虑使用 Python。对于 Python,有两种开源选择:PyAmf 和 A​​mFast。据报道,AmFast 的编码速度比 PyAmf 快十八 (18) 倍。

所以最终的答案是这样的:确定你想要什么样的“快”,比较你可以选择的编码器的能力。

于 2009-10-12T23:11:42.583 回答
2

AMF 是专门为 Actionscript 设计的,但它只是一种基于 SOAP 的二进制格式。您可以在任何地方使用它,但客户端和服务器都需要了解 AMF。

许多库可用于许多不同的服务器端语言来理解 AMF,但我不太确定除了 Flash 之外,您还想在客户端的哪些地方使用 AMF。

于 2009-09-17T21:32:01.930 回答
1

从某种意义上说,AMF 速度很快,与您可以使用的其他格式相比,它是:

  • 更小,因此响应通过网络传输所需的时间比以更大格式传输的时间更短(无论您使用什么 AMF,这都会影响您),并且
  • 更接近客户端的本机格式,因此客户端要做的解析工作更少(这主要是 Flash Player 的一个优点,尽管它可能仍然比 XML 更接近任何客户端的本机格式)。

AMF 的性能与 Flex 使用的其他协议/格式进行了很好的比较:http ://www.jamesward.com/census2/ ,但我还没有看到涵盖任何其他 AMF 客户端性能的比较(甚至James Ward 自己的纯 JavaScript AMF 解码器)。

于 2011-05-18T04:17:29.667 回答