首页 / PHP / As3利用AMFPHP与PHP进展通讯
As3利用AMFPHP与PHP进展通讯
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了As3利用AMFPHP与PHP进展通讯,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2936字,纯文字阅读大概需要5分钟。
内容图文
![As3利用AMFPHP与PHP进展通讯](/upload/InfoBanner/zyjiaocheng/216/9c265f00371349efa526b22f61e74ba2.jpg)
来自:http://bbs.9ria.com/thread-65836-1-1.html
首先,说下具体配置,PHP版本:5.2.5,apache:2.2.11,(或者WAMP2.2),amfphp:1.9版本(附件已提供),windows xp系统。
注意:amfphp的不同的版本与php不同的版本会有冲突。具体检测方法是:在web根目录下解压amfphp后,访问该url: http://localhost/amfphp/browser/,如果没有报任何错误,那么恭喜你。如果有错误,请更换amfphp的版本。
经我的测验,上面那个配置是不会有问题的。
在具体的项目中,有时我们会使用As3纯项目,所以在As3中Amf通讯也经常用到,今天我们来讲讲在As3中的方法。(以前已经发过flex与amfphp通讯的相关文章,请查阅后台板块)
在As3端,主要就是NetConnection的使用,首先选择使用AMF3协议,这个是现在常用的,AMF0因为要兼容以前的版本,所以有些冗余。
然后使用connect方法连接后台url。
然后声明一个Responder对象,该对象在 NetConnection.call() 中使用以处理来自与特定操作成功或失败相关的服务器的返回值。
接着使用NetConnection,call 后台php端类中的方法,如本例的HelloWorld.getData,记着把是所声明的 Responder对象写到call方法的第2个参数里。
注意看Responder里两个函数参数,第一个,如果对服务器的调用成功并返回结果,则此函数被调用。例子中的onSuccess
第二个, 如果服务器返回一个错误,则此函数被调用。例子中的,onError。
好,来看看As3端:
package { import flash.display.Sprite; import flash.events.NetStatusEvent; import flash.net.NetConnection; import flash.net.ObjectEncoding; import flash.net.Responder; /** * ... * @author 纳兰容若 */ public class AMFTest extends Sprite{ private var netCon:NetConnection = new NetConnection(); private var rsp:Responder = new Responder(onSuccess, onError); private var phpUrl:String = "http://localhost/amfphp/gateway.php"; public function AMFTest() { netCon.objectEncoding = ObjectEncoding.AMF3; netCon.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); netCon.connect(phpUrl); netCon.call('HelloWorld.getData', rsp); } private function onNetStatus(e:NetStatusEvent):void { trace("failed"); } private function onSuccess(rspObj:Object):void { trace("ok: "+rspObj); } private function onError($rspObj:Object):void { trace("AMF client error."); } } }
php端:
php文件命名为 HelloWorld.php,放到 D:\webroot\amfphp\services中。(注意:D:\webroot是我的web根目录,这个具体设置要看你自己的。)
如果链接出现问题,则有可能是如下错误导致的:
Fatal error: Uncaught exception 'VerboseException' with message 'Standalone Flash player disabled. Update gateway.php to allow these connections' in C:\wamp\www\amfphp\core\amf\app\Gateway.php on line 357 VerboseException: Standalone Flash player disabled. Update gateway.php to allow these connections in C:\wamp\www\amfphp\core\amf\app\Gateway.php on line 357 Call Stack: 0.0003 374432 1. {main}() C:\wamp\www\amfphp\gateway.php:0 0.0062 874840 2. Gateway->disableStandalonePlayer() C:\wamp\www\amfphp\gateway.php:137 0.0062 875056 3. trigger_error() C:\wamp\www\amfphp\core\amf\app\Gateway.php:357 0.0062 875720 4. amfErrorHandler() C:\wamp\www\amfphp\core\amf\app\Gateway.php:357
此时只需要按提示,打开gateway.php文件,屏蔽掉原135、137行即可。
内容总结
以上是互联网集市为您收集整理的As3利用AMFPHP与PHP进展通讯全部内容,希望文章能够帮你解决As3利用AMFPHP与PHP进展通讯所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。