今天尝试了一下zendamf,过程中遇到了一点错误,在此记录下来:
安装:zend framework里面好像包含zendamf的所以如果使用的是zend framework就可以不用下载了(ZendServer\share\ZendFramework\library\Zend\Amf)。
如果是另外下载的将解压文件里面的library文件夹拷贝到服务器上,然后设置php.ini里面的配置路径也可以使用ini_set函数。我使用的是 zend studio 7, 直接在项目->属性里面在PHP Include Path添加的。安装ok后就可以使用了:
新建amf.php和HelloAmf.php文件
HelloAmf.php的内容:
<?php
class HelloAmf
{
function say($msg)
{
return "Zendamf: $msg";
}
}
?>
amf.php的内容:
<?php
include 'Zend/Amf/Server.php';
include 'HelloAmf.php';
$server = new Zend_Amf_Server();
$server -> setClass('HelloAmf');
echo $server -> handle();
?>
打开amf.php文件的时候让下载该页面。问题出在最后一句的echo,此时去掉echo 结果显示:Zend Amf Endpoint.
好了php端的工作完成了。下面是flash端的:
我使用的flash cs3,在里面新建amf.fla文件和ZendAmfConn.as文件,然后关联文档类。
ZendAmfConn.as里面的内容为:
package
{
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.Responder;
public class ZendAmfConn extends Sprite
{
private var gateWay:String = 'http://localhost/ria/amf.php';
private var conn:NetConnection = new NetConnection();
private var rsp:Responder = new Responder(ok, onfallt);
public function ZendAmfConn()
{
conn.connect(gateWay);
conn.call("HelloAmf.say", rsp, 'PHP/Flash');
}
private function onfallt(fault:Object):void
{
trace ("Error: " + String(fault));
}
private function ok(res:Object):void
{
trace(String(res));
}
}
}
然后ctrl+enter测试,没有任何反应。现在我们回到amf.php里在最后一句加上原来的echo,再测试一下就好了,测试结果:Zendamf: PHP/Flash
分享到:
相关推荐
标题中的“Flex + Zend AMF + MYSQL + WAMP 新手指南”揭示了本文将要讨论的是一个关于构建基于Web的应用程序的技术栈,其中包含了前端、后端和数据库的相关技术。让我们逐一深入理解这些技术。 1. **Flex**: ...
Zend AMF 编程参考指引 (2009-02-27),详细介绍: Adobe Systems has contributed support for their open, binary Action Message Format (AMF) protocol to Zend Framework. Using Zend_Amf, you can build Flex ...
此实例完成了一个最简单的zend_amf与actionscript通信的流程。具体开发说明可参照此网址。http://blog.csdn.net/A82168506/archive/2011/04/27/6366667.aspx
然而,随着HTML5技术的发展和Flash逐渐被淘汰,AMF格式的使用范围正在缩小。 "MP4AMF格式转换工具"的核心功能就是将AMF格式的文件转换为更通用的MP4格式,或者相反。转换过程中,该工具可能涉及以下步骤: 1. **...
AMF0是早期版本,主要应用于Flash Player 8及更早版本,而AMF3则在Flash Player 9及以后版本中广泛使用,提供了更高效的数据编码和解码。 使用AMF.NET进行开发时,开发者可以创建服务端的方法,这些方法会被Flash或...
•Zend_Amf •Zend_Application •Zend_Auth •Zend_Barcode •Zend_Cache •Zend_Captcha •SimpleCloud API: Zend_Cloud •Zend_CodeGenerator •Zend_Config •Zend_Config_Writer •Zend_Console_...
在实际应用中,ThinkPHP通过使用第三方库如PHP-AMF3或 zend_amf,来实现AMF服务器端的支持。在Flex客户端,开发人员会创建一个RemoteObject实例,指定服务器端的服务地址,然后就可以透明地调用服务器上的方法,如同...
AMF数据格式有两种主要类型:AMF0(也称作AMF3)和AMF2(AMF2已被AMF3取代但仍在某些场景下使用)。AMF格式的优点在于它的高效性和压缩性,它能将复杂的数据结构如对象、数组、日期等转换为二进制流,从而减少网络...
amf解析构造,分析amf,取短整数_字节集,时间到双精度,到时间_双精度,取整数_字节集,integer_字节集,取双精度_字节集,amf3型数据,十六进制转字节集,分析数据段,解析amf数据,解析amf3数据,Utf8转Ansi,Unicode转Ansi,Utf...
5. **MFC_Tree**:文件名Amf3_Tree可能指的是一个使用了MFC Tree控件的C++源代码文件,这个文件包含了实现AMF3解析和树化显示的代码。你可能需要阅读并理解这个文件中的函数和类,以学习如何将AMF3数据转换为易于...
7. **API设计**:为了方便用户使用,AMF3库的API应清晰、简洁,提供易于理解和使用的接口。例如,提供`encode`和`decode`函数,接受和返回C++的基本数据类型或自定义对象。 8. **兼容性**:AMF3库还应考虑到与其他...
1. **二进制格式**:AMF使用二进制编码,使得数据传输更紧凑,降低了网络带宽需求,提高了传输效率。 2. **类型感知**:AMF能识别并编码多种数据类型,如数字、字符串、日期、对象、数组等,无需额外的元数据。 3. *...
为了使用这个库,你需要理解AMF3的数据表示方式,并熟悉C++编程。在集成到项目中时,要注意正确引入AMF3.h头文件,链接AMF3.cpp实现文件,并根据提供的API来创建、读取和操作AMF3数据。在开发过程中,测试是至关重要...
1. **二进制编码**:与XML或JSON相比,AMF3使用二进制格式,数据传输更快,占用带宽更少。 2. **类型标记**:每个数据都由一个类型标记前导,使得解析器能够快速识别数据类型。 3. **优化的序列化和反序列化**:AMF3...
9. **应用示例**:可能包含一些示例代码,演示如何在客户端和服务器端之间使用AMF0进行数据交换。 10. **错误处理**:文档可能还会介绍如何处理编码或解码过程中可能出现的错误,以及如何实现自定义的错误处理机制...
了解并使用Lua-Amf库,对于开发涉及与Flash或Flex应用交互的服务器端Lua项目尤其重要。 1. **AMF3简介**:AMF3是AMF的第三个版本,相较于早期的AMF0,它提供了更高效的数据压缩和序列化方式。AMF3可以处理各种类型...
Python中的AMF库可以帮助开发者解析和序列化这两种格式的数据,使得在Python应用中可以方便地与使用AMF的系统进行交互,比如与Adobe的Flex或Adobe BlazeDS服务进行数据交换。 这个名为"amf.py"的文件可能是整个库的...
"amf解析构造易语言源码"这个主题意味着我们要探讨如何使用易语言来解析和构建AMF数据。解析AMF数据在处理与Adobe相关技术交互的应用中尤为重要,例如通过Flash或Flex与服务器进行数据通信的场景。 首先,你需要...
在Android平台上,虽然AMF不是原生支持的数据格式,但通过特定库和编程技巧,我们可以实现对AMF数据的解析和创建,从而在Android应用中与使用AMF的服务器进行通信。 1. **AMF基础知识** - AMF有AMF0和AMF3两个版本...
功能: 支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject、writeObject )。 支持AS3的ByteArray的compress、uncompress压缩算法:...为方便想了解AMF格式及封包的坛友分析解码AMF数据资料使用。