I have created an Air/Flex Application that runs continuosuly that sends and receives data in XML format. The application sits in the system tray and sends any new xml files it finds in a specific folder (there is a timer that runs a function every few seconds) up to a server and also brings down any new xml files it finds on the server.
Every half an hour this application looks for an instuction xml file on the sevrer which contains a 'testConn' field. If this field is set to 'yes', the application will contact the server and put a time stamp in the database. This way I can see whose computers are connecting to the server. If I notice someone's computer is not connecting, I tell the client to check that their Air application is running.
However, I have a problem with a few installtions in that the Air application seems to go to sleep. It stops sending data and the connection tests don't work. When I contact the client to tell them, they say that the application is running in the system tray. When they click on the application to maxmise it, it suddenly starts connecting.
What could be causing the application to stop responding? Would computers with lower resources consider the application to be not important and therefore not give the application any resources?
It's imprtant that the data on the server is in sync with the data on the local computer and so this problem is throwing a huge spanner in the works.
I'm toying with the idea of setting the process priority to a higher level in the task manager, but don't want to go down that path until I'm sure that that is the problem.
Anyone have any ideas?
If this is a Flex/AIR app you could profile it, to see what's going on.
Can you send the clients a debug version of your app? You could see what errors are thrown when the app tries to connect, if it even tries to connect at all. Just put verbose debug messages into a viewable text field on all appropriate URLLoader or Loader events. I'd be interested to see the actual problem or solution...