Remoteobject(AMFPHP)还是HttpService?哪个是最好的选择?

时间:2011-07-29 03:55:41

标签: flex flex3 flex4 protocols remoteobject

请解释我哪两个是安全的,功能强大的,在发送到Flex并从服务器接收请求的数据时足够快!

我更喜欢使用AMFPHP远程处理远程对象而不是HTTPService

4 个答案:

答案 0 :(得分:2)

有关性能和数据传输大小的信息,请查看James Ward Census Application

为了提高性能,请使用RemoteObject。

但是,由于您要求“足够快”,我实际上取决于您的应用程序和数据量。

任何一个频道都是安全的。 HTTPS会使它更安全。我认为没有什么能阻止数据包嗅探器获取传输中的数据。

答案 1 :(得分:1)

AMF(远程对象) - 为什么更好

  • 这是一个二进制协议。
  • 但它仍然封装在HTTP中,所以不用担心 防火墙或客户端问题,我们可以使用我们正常的Web调试 方法。
  • 带有二进制正文的HTTP标头。

HTTP / 1.1 200 OK
日期:2011年6月28日星期二12:55:26 GMT
内容类型:application / x-amf
服务器:stackoverflow.com

(此处为binaryamf正文)

  • 因为它是二进制的,所以可以使用指针。
  • -Circular References
  • - 只传输一次对象。
  • 例如,Common Strings只发送一次,然后发送所有其他 对该字符串的引用只包含一个指针,而不是 重新发送。
  • 所有对象的行为相同。
  • 其传输的二进制格式(规范)与格式相同 Flash播放器将其对象存储在内存中。
  • - 没有编组(昂贵)
  • - 不反序列化
  • - 来自HTTP流的比特〜>进入Flash Player内存
  • James Ward人口普查数据
  • - 构建为使用多种不同传输的Flex应用程序 传输相同数据时的机制。显示比较时间 每个阶段的数据传输。
  • - James Ward Census

答案 2 :(得分:1)

据推测,AMF总是会更快,但使用XML或JSON的HttpService可能会更频繁地使用。如果它只是一个小项目,或者它将使用其他技术可能使用的基于web的api,那么也许httpService可以更快地实现。

如果你想使用ZendAMF快速试用AMF PHP,我在这里提出了一个教程和演示:

http://bbishop.org/blog/?p=441

包括所有php和配置文件的详细信息,以及服务器设置。

答案 3 :(得分:1)

安全性与此无关,因为。 AMF将使用二进制协议而不是字符串协议来节省带宽成本。这是一个额外的混淆层,但有一些数据包读取器无论如何都会读取AMF。如果您计划替换桌面客户端,比如移动设备,那么AMF可能会将您锁定,因为其他客户端可能不是基于Flash Player的。进入非AMF的优势在于你可以打开其他客户端的可能性,但是如果应用程序是带宽密集的,那么权衡就是,带有字符串主体的HTTP请求将比AMF二进制文件更重。