很多站长朋友们都不太清楚phpamf扩展,今天小编就来给大家整理phpamf扩展,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 什么是 Flash Remoting? 2、 通讯上amf是什么意思? 3、 通信 amf smf udm指的是什么 4、 公司升级php5.5和amfphp交互的,我想问下版本兼容性的问题 什么是 Flash Remoting?概述
Flash remoting是一种连接flash client 与 server端的技术,它的功用就像是 web service, xml, loadVars一般,可以在两者之间交换资料,达到动态置换内容的目地。
它可以轻松访问业务逻辑层和Web Services, 轻松测试和调试,简化数据集处理,全面支持XML使用,支持RIA表现层,封装数据可保密,部署简易且可跨平台跨设备。
原理
Flash remoting特别的地方在于它采用macromedia独家的AMF(Action Message Format),这是一种 binary format的资料型态,透过 AMF over HTTP的方式将flash端资料编码后传回server,server端的remoting adaptor接收到资料后则会译码回正确的native对象,交给正确的程序处理。
AMF除了用于Flash remoting外,也广泛的用于 Local Connection 与 Flash communication server,它最大的特色在于可直接将flash native object,例如Object, Array, Date, XML,传回server端,并且在server端自动进行转译成适当的对象,例如flash 的Array传回PHP时就会自动转换为 Associative Array;这个特色对开发者最大的好处在于不需要再人工处理serialization 与 deserialization的繁复工作,不但精确度更高,同时开发也更省时间。
由于AMF是binary format并且编码时经过高度压缩,因此非常适合用来传递大量的资料,根据flashorb网站的测试(主要针对web service与flash remoting),当资料量越大时,flash remoting的传输效能就越高,远远超过web service的表现,因此同样的道理也可得知xml, loadVars, loadVariables 等使用plaine text format的传输方式自然也无可比拟。
server端
至于在server端,目前macromedia官方支持的平台有三种,分别是 Java Coldfusion(但实际上Coldfusion应该只算是java的subset,它是一种 scripting tag library)与.NET,但由于AMF格式已被玩家反组译成功,因此很快的就在Open Source圈出现各种「民间版」的remoting替代方案,其中比较有名的是:
1,AMFPHP: 这是php版的remoting
2,OPENAMF: java版的remoting
3,Flap: Perl 与Python版的remoting
4,FlashORB: 商业版的remoting替代方案,目前支持java与.net
通讯上amf是什么意思?AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层面上传输。
很多Flash WebGame都采用这样的消息格式。该格式通常与Adobe的RTMP结合使用,以建立连接和控制命令以传输流媒体。
在这种情况下,AMF数据封装在一个块中,该块具有一个标头,该标头定义了诸如消息长度和类型(无论是“ ping”,“ command”还是媒体数据)之类的内容。
格式分析
AMF是随Flash Player 6引入的,此版本称为AMF0。直到Flash Player 9和ActionScript 3.0发行时,它才保持不变,当时新的数据类型和语言功能提示进行更新,称为AMF3。
Flash Player 10添加了在2013年1月修订的规范中记录的矢量和字典数据类型。
Adobe Systems在2007年12月发布了AMF二进制数据协议规范,并宣布它将支持开发人员社区将该协议提供给每个主要服务器平台。
以下amf数据包用于在已定义的Adobe / Macromedia容器或传输器(例如Flash Video或Real Time Messaging Protocol)之外传输消息。
支持AMF的平台
许多服务器端语言和技术以应用程序开发人员必须安装和集成的库和服务的形式支持各种AMF协议。
1、ColdFusion -
2、Haxe - Haxe Remoting hxformat
3、Java - Adobe BlazeDS, Adobe LiveCycle Data Services (formerly known as Flex Data Services);
Exadel Flamingo, RED 5, Cinnamon, OpenAMF, Pimento, Granite, WebORB for Java
4、.NET - WebORB for .NET, FluorineFx (LGPL), DotAmf (MS-PL), AMF.NET (development stopped)
5、PHP - AmfPHP, SabreAMF, WebORB for PHP, Zend_Amf, php-amf3 extension, Baguette AMF(php extension)
6、Python - amfast
7、Perl - AMF::Perl, Storable::AMF, AMF::Connection
8、Curl - Curl Data Services
9、Ruby - RubyAMF, WebORB for Rails, Rocket AMF
10、Erlang-Erlang-AMF
11、ActionScript-FlashPlayerByteArray(in-built),CourseVectorLibrary
12、JavaScript-JSAMFCourseVectorLibraryCourseVector.minerva
13、Lua-lua-amf3
14、ABAP-ABAPAMF(earlystage)
15、Delphi-kbmMW(extensiveAMF0/AMF3support)
16、iOS-CocoaAMF
17、PowerShell-PowershellAMF
通信 amf smf udm指的是什么一种通信协议,由adobe开发给flahs用的全场是actionmessgeformat好像是。才有二进制压缩而且可以传递flash的对象例如objtctarrayxml等c++javaphp均有amf的包
公司升级php5.5和amfphp交互的,我想问下版本兼容性的问题最近我开始东西发现公司的主机php版本不够用
后来分析了很多不同版本,
发觉5.4.2x 是比较好的,已正在使用5.4.28
如果有什么特别的需要,那没办法只能升上php5.5,再想别的办法解决你AS4
的问题
但如果没特别需要,那就可以考虑别上5.5,先用5.4
我要求公司升上去有2原因
1. PHP5.4比5.2/5.3支援pdo更好
2. PHP5.4 的确比其他的快
5.5差别太大,没信心去修改兼容性
关于phpamf扩展的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。