flex+php

Luffy_龙 2010-08-12 04:55:32
公司使用flex+php组合开发web桌面应用程序,
使用php处理业务逻辑,然后把数据发送给flex,
近期内遇到了好几次这样的问题:


php处理的数据发送给flex ,但是flex无法使用,用花瓶可以截取到数据,
但是 花瓶的response Failed to parse data(com.xk72.amf.AMFException:Unsupported AMF3 packet type 239 at1)

raw 中可以看到php发送过来的数据
...全文
2258 点赞 收藏 25
写回复
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
jesus_xc 2010-11-30
本人刚刚接触Flex+PHP编程 跪求一个小小的 Demo 用于学习 有意者将您的Demo发送至 yesu.xc@163.com 邮箱里 谢谢
回复
kojie_chen 2010-08-20
as3支持amf3,amf0 只支持as1 as2.0
回复
Luffy_龙 2010-08-17
最终发现错误信息是由于 php一个关联的文件 errVO 是带有签名的。把这个文件转换为不带签名的,就排除错误了
回复
zju2004 2010-08-17
[Quote=引用 18 楼 xhl122363686 的回复:]
唉,愁死你了
[/Quote]
..
回复
xjwchy 2010-08-16
我现在的项目也是flex+php的
看你的错误信息应该是你的php文件有错误
能把你的php的内容发上来吗?
回复
Luffy_龙 2010-08-13
唉,愁死我了
回复
CodeBus 2010-08-13
帮不了你了,俺flex只玩了几天而已,自己去research一下吧。。
回复
Luffy_龙 2010-08-13
两边的都一样 然后 编码都是utf8 之前也 出过这样的问题 是由于PHP得/**/注释引起的 现在删除所有的多行注释也不好使了。。
回复
mingfish2 2010-08-13
flex很高深,暂时没接触
回复
CodeBus 2010-08-13
TextBookControlVO 这个对象在flex那边也有class的吧?两边的成员一致的吧?还有新版本的class文件的编码没变化吧?
回复
Luffy_龙 2010-08-13
PHP 运行不报错 - -返回结果正确
Array
(
[0] => Array
(
[errCode] => 0
[errMessage] =>
[errDetail] =>
)

[1] => Array
(
[0] => TextBookControlVO Object
(
[_explicitType] => com.smarten.VO.TextBookControlVO
[tbcID] => 001000000004
[cID] =>
[tbcType] =>
[tbcCode] => Easy
[tbcFreqUse] =>
[tbcFromDT] =>
[tbcToDT] =>
[tbcPublished] =>
[tbcFloor] => 4
[tbcLeft] => 4
[tbcRight] => 5
[successNum] => 0
[errNum] => 0
[errInfo] =>
[ceID] =>
[ceCode] =>
[tbVideo] =>
[tbID] => 001000000003
)

[1] => TextBookControlVO Object
(
[_explicitType] => com.smarten.VO.TextBookControlVO
[tbcID] => 001000000005
[cID] =>
[tbcType] =>
[tbcCode] => Medium
[tbcFreqUse] =>
[tbcFromDT] =>
[tbcToDT] =>
[tbcPublished] =>
[tbcFloor] => 4
[tbcLeft] => 6
[tbcRight] => 7
[successNum] => 0
[errNum] => 0
[errInfo] =>
[ceID] =>
[ceCode] =>
[tbVideo] =>
[tbID] => 001000000004
)

[2] => TextBookControlVO Object
(
[_explicitType] => com.smarten.VO.TextBookControlVO
[tbcID] => 001000000006
[cID] =>
[tbcType] =>
[tbcCode] => Difficult
[tbcFreqUse] =>
[tbcFromDT] =>
[tbcToDT] =>
[tbcPublished] =>
[tbcFloor] => 4
[tbcLeft] => 8
[tbcRight] => 9
[successNum] => 0
[errNum] => 0
[errInfo] =>
[ceID] =>
[ceCode] =>
[tbVideo] =>
[tbID] => 001000000005
)

)

)
回复
CodeBus 2010-08-13
这个错误好像是php那边的问题,检查一下编码。或者单独执行下php看看报错么。。
回复
Luffy_龙 2010-08-13
我们用amf通信协议, 用一个VO 类来通信
回复
Luffy_龙 2010-08-13
code:
Client.Error.DeliveryInDoubt

Message:
Channel disconnected

Detail:
Channel disconnected before an acknowledgement was received


FLEX 报错
回复
CodeBus 2010-08-13
我记得flex有一个和php对应的class用来统一从那边过来的对象数据的,不是你说的那个类吗?
回复
Luffy_龙 2010-08-13
上传的class类是php内部调用的。和flex 有关系么?。 初始化是个坏东西。。只要页面一处有问题 就全部不能运行。、。
回复
CodeBus 2010-08-13
那就检查下这两个版本的区别。对比下新版本的flex和php的class里面的成员变量一致不,是不是有什么改动。
回复
Luffy_龙 2010-08-13
用的是AMFPHP 数据也是传输正确的,这个问题是出现在 php->flex时,我们有一个公共的下载class,有两个版本,用新版本就报错,整个flex 页面初始化都错误。用旧版本就可以初始化。
回复
CodeBus 2010-08-13
要构造amf协议的包发给flex,看错误提示是你传给flex的数据不正确。是用的amfphp么?
回复
xuzuning 2010-08-13
对比 flex 要求的数据格式与你 php 产生的数据格式上的差异
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告