Flex随机丢弃与服务器的连接

时间:2009-11-26 01:18:04

标签: flex flash

我们有一个与我们的服务器通信的flex应用程序。 flex应用程序向服务器发出许多HTTP请求(发布和获取),在许多情况下是并行的。

我们一直注意到,我们从flex应用程序中获得了很多连接丢失。

服务器根本看不到任何失败的请求,也没有加载。

我也怀疑flex可能是on-connection-drop,自动重试POST或GET请求,导致我们的服务器收到请求两次。

有没有人遇到过这种情况?

如何缓解此问题?

2 个答案:

答案 0 :(得分:2)

我遇到过这个问题,原因是没有继续引用加载对象(URLLoader?),认为添加所有正确的事件监听器就足够了,一旦设置好了。它被垃圾收集而无法完成。解决方案是将所有加载URLLoader保存在root集合中,如字典,并在完成时删除它们。

你的问题可能有关系吗?

答案 1 :(得分:1)

我们遇到过这样的问题,我们也找不到问题。搜索了很长时间后,我们发现我们的sqlserver被重载了(因为我们登录了许多信息到服务器)。现在我们登录到txt文件,一切正常。

我们的flex应用程序是一个测试工具,350名候选人(平均)同时参加。 Web服务器和sqlserver的负载非常高,因为每30秒将Flex应用程序的状态保存到服务器(状态=候选人正在进行的当前练习)。

我们没有遇到任何问题,所以我猜你的问题不是flex应用程序。也许这是网络?

我们使用WebORB和amf远程调用。我们还有一个用于获取媒体的retrieveBlob.aspx处理程序。平均而言,当350个候选者开始会话时,同时获取大约3500个媒体文件(在服务器上进行缓存)。在这种情况下,到目前为止我们没有任何问题。

我们实现的另一件事是回退系统,如果某些远程调用失败,flex会使用相同的参数再次调用它。如果它再次失败,则会向候选人显示一条错误消息,说明需要重新启动应用程序(并且已完成恢复)。

Flex自动重试帖子或获取是我在申请中尚未看到的内容。

您使用的是哪台服务器? (我们使用Flex-Weborb-asp.net-sqlserver)。