Code for Xojo to Xojo File Transfer

Is anyone willing to share code for large-file, high-speed data transfer between Xojo applications?


How big?
Over the local network, over the internet, or on the same machine?
Cross platform?
Need to preserve file attributes (permissions, creation date, etc)?

Files can be multiple GB and will need to be transferred over the internet. The majority will be zip files.

I’ve implemented something like this in the past using EasyTCPSocket. Unfortunately, it was at a former job and I don’t have rights to the code, so I can’t share it.

Essentially, you need to come up with a tiny protocol that tells the recipient of the transfer any metadata about the file you want preserved: filename, creation date, etc. The protocol then defines how the file itself is transferred. I like to have it include the number of bytes to expect so that both sides can display a progress bar as the transfer progresses. Since your files are potentially rather large, I suggest using 64bit unsigned integers for this - I made the mistake of using 32bit values and regretted it the day my transfer exceeded 4GB.

It’s been years and the details are fuzzy… but I think that EasyTCPSocket doesn’t deal well with being handed a huge blob of data to transfer. I believe I ended up chunking the data first.

Maybe that’s enough to get you started?

If you’re interested in HTTP transfer, you might want to take a look at fswebapi

Mind you, it doesn’t currently implement any functional user authentication or resource authorization, but work has started towards that goal. It will make use of picoACL

I’m the maintainer of both projects, I just don’t have the time to put the necessary work anymore. It will happen at some point, but not soon.

I make this in old sofware.
I used the mail

Thanks to all for the help. I’ll post an update when I have working code.