Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Updating data over very slow WAN connection

Status
Not open for further replies.

ontsjc

Technical User
May 17, 2000
113
Hi,

I've been tasked to write a program that will allow project managers to track progress on projects through mannually inputed status updates. This isn't a huge problem. The issues is not all users are in the same location and our WAN connections between offices are very slow. I'm curious if anyone might be able to suggest a workaround. It is totally impractical to have a application on a desktop in one location access a data table stored on a machine in another. Also, hosting the application via web with an html interface is out, IT won't allow it.

My thought was to have the remote program access the data tables at start up and move the data to the local machine and then updating the main tables when the user is done and closes the application. Thus limiting the slow transfer time to the beginning and end of the session. However, this has obvious draw backs, such as not being able to institue record locking and the like.

Any thoughts would be apprciated.
 
so basically you have an app on different sites (same app), and you want them to update their data to you?

same tables but, each one is locally to their own machine?

i am asking you this because i just build a DBF Sync using the following:

cursortoxml() for the records that are NOT synced (I have a Sync flag in each table) and gets changed when edited, updated, saved, deleted, etc..

each table has an IID auto inc

on the server side,

i use FoxWeb (very cheap)
Post the XML with the LocationID, and the xml file
Take the xml and make xmltocursor()
on the main tables, i have the PKServer field which is the IID of the remote id
and i update the record.

it updates very very fast.

we have 80 retail stores and some are using very slow connection.

server is not that robust either.

Ali Koumaiha
TeknoSoft Inc.
Michigan
 
i forgot to mention that the SyncUtility is very tiny program that run as a systray.

its a prg class with a timer every 10 minutes or whatever and it goes through all the tables and gets the records from each table. i do top 1000 records so the xml is not that huge to post.

on the server side, i post the querystring, locid, tablename, xml
request.form("frmLocID")
request.form("frmTable")
request.form("frmXML")


Ali Koumaiha
TeknoSoft Inc.
Michigan
 
Thanks for the response. Looks like an interesting solution. However, I'm wondering if this was to be served through IIS or other webserver. If that's the case then our IT security department won't approve it.
 
I developed couple applications which consist of a kiosk dispensing money, and a server tracking those dispenses. Here's how it works.

The kiosk sits at a remote location. Every time cash is dispensed, it creates a record, and either after each transaction or at specific intervals (every 1, 10, 30, ... minutes, or even daily if you wish), it transmits those transactions using TCP over a 'Winsock' socket connection.

The host app running on a server back at home office sits there and waits for incoming transactions using a 'listen' Winsock socket. When it gets a record from the kiosk (or kiosks), it adds it to a tables locally.

There is no IIS involved. Only the client app at the remote locations and a host app running on the server using a specific IP address and port.

I can offer up more details if you're interested, but it is quite efficient and quite fast.


-Dave Summers-
[cheers]
Even more Fox stuff at:
 
Thanks! Yes I would like more information on using TCP!
 
First, go to the link by my signature, scroll down to the "Winsock Chat / Communication Utility" and download 'cschat.zip'. Extract those to a folder somewhere and run them using VFP. You can run them in the same same session or different ones.
It's just a little demo utility to show how you can send data to a server and receive a reply that the server got what you are sending.

Now what I did was take the basics of these apps and modify them to transfer data instead of text messages.
In other words, take the client side where you're sending a text message and send a formatted data string.
On the server side, you can accept the data, parse it and add that data to a table.



-Dave Summers-
[cheers]
Even more Fox stuff at:
 
Very cool! Thank you for your help. I'll check it out.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top