Hi,
I'm not sure how the hole system will work here, however I feel that DataSocket can give you a hand here. You can open a DataSocket connection and start sending status messages, so when the client makes some mistake this status messages are stoped and the server can then open the required file.
You could also use DataSocket together with a simple ftp server. You could use ftp as a way to share the files between the server and client. You can have the client save the files in a folder that the ftp server makes public and then have the server connect to the ftp site to retrive the data when the status messages indicate it.
Just my 2 cents, I hope it helps.
Regards,
Juan Carlos
N.I.