In my setup, I have two Ubuntu 14.04 machines on the same network. One is running uptpd client and the other is used to send files using uftp.
In the middle of file transfer, if I unhook the ethernet cable on the client and hook it back in, I was expecting that the client will send the list of missed packets and the server will deliver them once again. However, it appears the server just quits after sending the file. I guess it just assumes that the file has been delivered. I would think server should just wait until the client acknowledges that the file has been received intact.
I am wondering if there is any command line flag that I need to specify for guaranteed delivery. Or, is uftp not the right application for guaranteed delivery of files?
Appreciate your help.
Regards,
Peter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
UFTP does guarantee delivery of files, provided that there's an active network connection. If there's a relatively brief network interruption, the client will send back NAKs for the packets it missed. If the interruption is long enough however, the client and/or server will assume that the connetion was lost and halt the transfer. For a client and server on the same LAN, the low round trip time means a short time before the session is considered lost (probably the minumim 1 second timeout in this case). The logs on either side should indicate that this has happened.
Because UFTP was designed primarily for multicast, there are timeouts involved so that if one client is unresponsive for too long or experiences a very high loss rate that client will drop out to minimize delays when sending to other clients.
In the event one or more clients failed to receive all files in a session, you can use the -f and -F options on the server to save the state and pick up where it left off. On the client side, you'll need to use the -T (temp directory) option to allow restarted sessions to work.
Regards,
Dennis
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Folks,
In my setup, I have two Ubuntu 14.04 machines on the same network. One is running uptpd client and the other is used to send files using uftp.
In the middle of file transfer, if I unhook the ethernet cable on the client and hook it back in, I was expecting that the client will send the list of missed packets and the server will deliver them once again. However, it appears the server just quits after sending the file. I guess it just assumes that the file has been delivered. I would think server should just wait until the client acknowledges that the file has been received intact.
I am wondering if there is any command line flag that I need to specify for guaranteed delivery. Or, is uftp not the right application for guaranteed delivery of files?
Appreciate your help.
Regards,
Peter
Peter,
UFTP does guarantee delivery of files, provided that there's an active network connection. If there's a relatively brief network interruption, the client will send back NAKs for the packets it missed. If the interruption is long enough however, the client and/or server will assume that the connetion was lost and halt the transfer. For a client and server on the same LAN, the low round trip time means a short time before the session is considered lost (probably the minumim 1 second timeout in this case). The logs on either side should indicate that this has happened.
Because UFTP was designed primarily for multicast, there are timeouts involved so that if one client is unresponsive for too long or experiences a very high loss rate that client will drop out to minimize delays when sending to other clients.
In the event one or more clients failed to receive all files in a session, you can use the -f and -F options on the server to save the state and pick up where it left off. On the client side, you'll need to use the -T (temp directory) option to allow restarted sessions to work.
Regards,
Dennis
Hi Dennis,
Thank you for your help.
Regards,
Peter