- Flash 和 Flex Remoting
- JavaScript JSON 和 Ajax JSON
- XML 和XML-RPC
一、什么是RPC?
远端程序调用(RPC, Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象带对各种参数方法 ,设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的, 就像我们在调用本地方法一样.
二、工作原理
客户端(Flash)与服务器端(php), 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关Amfphp。Amfphp再执行:
- 反序列化请求
- 找到相应的远程服务类
- 实例化类
- 执行安全检查
- (使用指定参数)调用服务器端方法
- 序列化返回的数据
Amfphp 可以正确地序列化、反序列化复杂类型数据。除了对象和数组,它还支持resources 数据连接资源,这就意味着我们可以通过调用远程方法简单返回mysql_query,amfphp 会处理这一切。 如果平台支持 (目前来说,Flash Remoting 和Flex Remoting), phpamf还可以处理循环引用和自定义数据。 它也支持简单的远程调试。还有amfphp 附带一个服务浏览器,它可以在创建客户端代码前测试远程服务。amfphp 1.0.1还添加了模板,可以自动生成客户端代码。Amfphp 1.9 beta更是新增了对AMF3的支持。详见http://www.riafan.com/article.asp?id=31。
三、教学资源
1. 英文
- flash-db.com tutorials and forum on AMFPHP
- sephiroth.it tutorials and blog on AMFPHP
- Macromedia Remoting Developer Center
- flashcoders mailing list
- amfphp mailing list
- AMFPHP development blog
- Flash Remoting book companion site
- Setting up PHP on your webserver
- Sönke Rohde - tutorial
- Jesse Warden - Flash, Flex and AMFPHP
- SwapDepths tutorials
2. 中文
- AMFPHP v1.0 MS2 tutorials
- download, install, hello world
- pageable recordset working examples
- using web service with amfphp
- authenticate with setCredential()
- Another hello world tutorial
- luar的教学:http://www.luar.com.hk/flashbook/archives/000168.php
- 淡湮mmug网聚教学:http://breezecentral.zerone.com.tw/p66309923/