【问题标题】:Fault NetConnection Failed using actionscript RemoteObject lots of datas故障 NetConnection 使用 actionscript RemoteObject 大量数据失败
【发布时间】:2012-03-09 15:36:50
【问题描述】:

我有一个空中 (4.5.1) 移动项目,将 ArrayCollection 发送到服务器 (Tomcat/BlazeDS)

服务器管理对象并返回一个包含结果的字符串(ok/error/etc)..

一切正常,直到:

我尝试发送长度 > 35000(不确定边界限制)的 ArrayCollection。

发送 arraycollection 后,UI 似乎冻结了一段时间,然后 我收到一个 FaultEvent 错误 NetConnection.Call.Failed: HTTP: Failed

服务器收到请求,解析并返回结果字符串

所以,因为程序得到了错误事件,我不能(从客户端)确定请求是否正确完成......

我该如何解决?这个问题是由arraycollection的长度产生的吗? 其他想法?

谢谢

【问题讨论】:

  • 如果屏幕被冻结,请尝试使用压缩并通过执行部分请求来减少一次发送到服务器的数据量。
  • 您也可以使用 ServiceCapture 之类的工具来获取请求的大小。在 35,000 行时,它可能是一个很大的尺寸。 (就像通过网络发送 mp3 一样)。也许服务器在请求完成之前就超时了。
  • 你为什么要发送超过 35K 行?!对我来说似乎很荒谬。
  • @J_A_X:为什么会这样?这个程序就像一个云,但是当客户端同步时,它需要接收和发送所有用户修改的所有数据,所以有很多用户,做了很多更新/添加的行。反正 35k 行大约是 ~1 -2Mb 所以这不是带宽问题...
  • 一次传输 1-2mb 对于 Web 应用程序来说是巨大的。服务器很可能无法处理它,或者客户端在尝试解析和更新所有数据后完全停止。必须有比这更好、更有效的算法。我不明白为什么一个客户需要知道“所有用户修改的所有数据”。这么多年来,我从未见过这种需求,因为不可能以连贯的方式同时显示所有这些信息。

标签: actionscript-3 apache-flex amf fault remoteobject


【解决方案1】:

这是 Flex/Air/Flash 的一个持续问题。您遇到的问题是 requestTimeout 的默认值为 30 秒。即使您更改了 remoteObject 中的值,它也没有得到正确使用。关于这个问题,adobe 上有许多记录在案的错误。下面是一个站点的链接,该站点已从网络上收集了有关此问题的一些信息。迄今为止 adobe 尚未解决该问题,尽管他们在以前的版本中声称。

RemoteObject Issue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2023-03-08
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多