Flex randomly dropping connections to server
We have a flex application communicating with our server. The flex app m开发者_Python百科akes many HTTP requests (posts and gets) to the server, in many cases in parallel.
We have been noticing that we get many dropped connections, experienced from the flex app.
The server does not see any failed requests at all and is not under load.
I am also suspecting that flex may be on-connection-drop, automatically retrying the POST or GET request, resulting in our server receiving the request twice.
Has anyone experienced such scenario?
How can I mitigate this problem?
I've experienced this problem, stemming from not holding on to a reference to the loading object (URLLoader
?), thinking that adding all the correct event listeners to it would be sufficient, once it is set up. It gets garbage collected and fails to complete. The solution was to keep all loading URLLoader
s in a rooted collection, like a dictionary, and removing them on completion.
Could your problem be related?
We have had problems like this and we couldn't locate the problem neither. After searching for a long time we found out our sqlserver was overloaded (because we logged to many info's to the server). Now we log to a txt file and everything works fine.
Our flex application is a test tool which 350 candidates (at average) take at the same time. The load of the webserver and sqlserver is pretty high because every 30 seconds the state of a flex application is saved to the server (state = current exercise the candidate is working on).
We haven't had any problems, so I'm guessing your problem isn't the flex application. Maybe it's the network?
We do work with WebORB and amf remote calls. We also have a retrieveBlob.aspx handler used to fetch media. On average, when 350 candidates start there session, some 3500 media files are fetched at the same time (with caching on the server). In this case we haven't had any problems so far.
Another thing we implemented is a fallback system where if some remote call fails, flex calls it again with the same parameters. If it fails again, then an error message is shown to the candidate saying it needs to restart the application (and a resume is done).
Flex automatically retrying the post or get is something I haven't seen yet in our application.
Which server are you using? (we use Flex-Weborb-asp.net-sqlserver).
精彩评论