RTC Forums
November 24, 2024, 08:08:07 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Mobile strategy  (Read 4445 times)
classic12
Guest
« on: November 25, 2011, 01:14:54 AM »

We have been using SOTI remote control on pocket pcs for some years now. The program took care of getting data back and to the device.
I am now doing an iOS app. I need a method to ensure any updates arrive at the server before the client moves onto the next task.
If the client is roaming it is possible the signal could be lost halfway through. The client would still need to be able to work ( unless there is a permanent data loss)

One avenue would be to store in the local SQLite and have a flag when the sync has happenend and delete the data from the device.

Any thoughts

Cheers


Stevew
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #1 on: November 25, 2011, 02:24:03 AM »

SOTI doesn't tell me a thing, but if you need to make sure the Server has received all your requests before you want to allow the Client to move on to the next step, you could use blocking remote function calls (the "Execute" method) instead asynchronous event-driven calls (the "Call" method with a "TRtcResult" component) and set "MultiThreaded=False" and "Blocking=True" on the TRtcHttpClient component. By setting the "AutoRepost" value on the TRtcClientModule to the number of times you want each request to be re-posted automatically before an exception is raised from the Execute method, you should be able to handle temporary connection losses. That would be the simplest solution if you want to force the user to stay on the last step until you get a response from the Server.

Naturally, this won't help you if the Client closes the App before all data has been sent to the Server. If you have to make sure all data prepared by the Client will definitely reach the Server, even if the user closes your App and starts it again later, you will have to use some kind of permament storage on the Client. Either a local Client-side Database (like SQLite) or temporary files.

Best Regards,
Danijel Tkalcec
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.022 seconds with 16 queries.