Apache flex Flex随机删除到服务器的连接

Apache flex Flex随机删除到服务器的连接,apache-flex,flash,Apache Flex,Flash,我们有一个与服务器通信的flex应用程序。flex应用程序向服务器发出许多HTTP请求(POST和GET),在许多情况下是并行的 我们已经注意到,我们从flex应用程序中获得了许多断开的连接 服务器根本看不到任何失败的请求,并且未处于加载状态 我还怀疑flex可能正在断开连接,自动重试POST或GET请求,导致我们的服务器收到两次请求 有没有人经历过这种情况 如何缓解此问题?我遇到过此问题,原因是没有保留对加载对象的引用(URLLoader?),认为一旦设置好,向其添加所有正确的事件侦听器就足够

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

我们已经注意到,我们从flex应用程序中获得了许多断开的连接

服务器根本看不到任何失败的请求,并且未处于加载状态

我还怀疑flex可能正在断开连接,自动重试POST或GET请求,导致我们的服务器收到两次请求

有没有人经历过这种情况


如何缓解此问题?

我遇到过此问题,原因是没有保留对加载对象的引用(
URLLoader
?),认为一旦设置好,向其添加所有正确的事件侦听器就足够了。它被垃圾收集,并且无法完成。解决方案是将所有加载的
urloader
s保存在一个根集合中,就像字典一样,并在完成后将其删除


您的问题是否与此相关?

我们遇到过类似的问题,但我们也找不到问题所在。搜索了很长一段时间后,我们发现我们的sqlserver超载了(因为我们在服务器上登录了许多信息)。现在我们登录到一个txt文件,一切正常

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

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

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

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

Flex自动重试post或get是我在应用程序中还没有看到的


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

这肯定与。。。但不完全是。。。我想听听更多的选择。。感谢heaps,不过我们肯定会对此进行调查。我们特别使用:mx.rpc.http.HTTPService来发布,mx.controls.Image.load(stringUrl)来加载图像和flash.media.Sound.load(new-URLRequest(stringUrl)来加载音频我们特别使用:mx.rpc.http.HTTPService来发布和mx.controls.Image.load(stringUrl)加载图像和flash.media.Sound.load(新URL请求(stringUrl)要加载音频,您是否有任何可复制的测试用例来复制问题?不幸的是,我们一直在尝试寻找问题发生时的相似性,但我们找不到一个共同点。我们在tomcat前面使用apache,并将java hibernate应用程序复制到MySql db,但我们在服务器端没有看到任何失败的请求,不是吗排队和非常好的响应时间。奇怪的是,我们正在开发一个非常类似的应用程序。另外,您的350名候选人是否与服务器在同一网络上?或者他们是跨云的?您使用什么方法加载音频和图像?mx.controls.Image.load(stringUrl)和flash.media.Sound.load(new-URLRequest(stringUrl))?嗯,在我们的产品安装地点之一,候选服务器确实与服务器在同一个网络上。我们的产品也在线运行,但在那里它的使用没有那么频繁。我们主要使用amf远程呼叫。也许您应该看看blazeDS以提高性能(但这当然与您的问题无关)。也许这确实是spender所说的flex中的一个bug。对于图像,我们使用Loader,对于声音URLRequest。将此标记为正确答案,因为它探索了大多数选项。核心问题从未被确定,因为项目被放弃