UDP was never meant for file transfer. UDP is for things that can handle packet loss such as streaming video. If it can handle things missing and keep going, then use it. If data being lost means corruption, then go TCP. UPD is there for a reason, if you try and implement too much check sums and data corrections then what is the point? There are other protocols for such a thing.
I wasn't the one to invent reliable user datagram protocol and i am pretty much guessing there was quite a good reason for it to appear, i don't think the networks guys thought "Hmm this looks fun to implement, lets try it for the heck of it". Also taking in consideration the evolution of internet and networking, it might perhaps seem a bit pointless now, but in the past RUDP might have been useful, but mostly for specific implementations (because it's not something you can use on a wide application scale) one of the reasons why it's not a standard.
Why did i implement it?
- because it was good practice and helped me understand better udp, packet transmission, and showed me a less complex solution for something similar to tcp.
- it gives you control over the packets you send (and trust me i wouldn't try to implement my own variant of tcp) .... so for learning purposes it's great exercise
- because i could
Now honestly i would have expected more comments on the content (aka code) than on the reason why i decided to implement this.