UDP File transfer with packet recovery

IN PROGRESS
Bids
14
Avg Bid (USD)
$1689
Project Budget (USD)
$250 - $750

Project Description:
I need a custom file transfer application that uses UDP with a custom error correction module. I will give you the concept, and you need to create it. The application should be able to work in both directions. Either client can be the sender or receiver. The goal is to send data packets from point a to point b by using UDP only. One port will be used for sending the UDP data. Each packet needs to be numbered, stamped and/or time stamped. The receive machine will receive the first packet, and that receive machine will count each sequential packet as it comes into the receive machine. Since UDP is not reliable like TCP/IP and does not have confirmation of receive packets, the receive machine needs to count the sequence of packets, and if a packet is missing from the sequence, the receive machine sends a request, via another open port to send the missing packet and send it to the receive machine and insert the packet into the proper sequence so that the receive file can properly put together. I think that it would be wise to create MD5 hash so that we can verify that the file was transferred and assembled perfectly. TCP/IP gets slower as the distance between parties increases. So a internet connection with 100 up and 100 down is fast when your dealing with a client that is close to you. If you deal with someone that has a latency over 150ms, then you are lucky to get that type of throughput to the end user. TCP connections on a fat 100Meg connection will get you about 20megs maximum when the latency is over 150ms. The goal of this is project is to create one application that can compensate for errors and latency that arises when trying to transmit files from point a to point b. The application should be able to calculate current speed of transfer. The application should also be able to test connectivity from client to server, it should report the tcp maximum transmit and the udp transmit maximum, there is a tool called iperf located here http://linhost.info/2010/02/iperf-on-windows/ that can measure everything needed. It can send packets in udp and tcp to server to test the connectivity between point a and point b. The application is going to have to have some sort of upnp to open ports through firewalls. There should be an indicator on the application to show that the ports are opened for the transfers. This is all for version 1 of the application. Version 2 of the application should be able to find or locate friends with in the group of client/servers and request to send a file to someone, and if that person accepts the file is sent to them. Version 3 of this eventually would be amazing if we can make all of this work in Java, so that the user doesn't need to download a application, they can use java to do everything. I can provide all the testing hardware needed. You will teamviewer into two separate machines both on different sides of the world. Both connections have 100megabit connections and the goal is to get over 50Megabits of UDP transfer with recovery of any lost packets or out of order packets, and have a verified md5. Please dont waste my time with useless bids. If you think you can do this, I expect a rough explanation how you plan on doing it. The person with the best explanation will get the project. To know if you read this please start your responses with the answer of four plus four. Thanks and good luck bidding. FYI, Im a very very frequent poster of projects. You can check my history, I don't play around or waste time. I will entertain bids that are based on time, meaning x price 30days x price 15 days etc etc...

Skills required:
Anything Goes, Java, Linux, PHP, Windows Desktop
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 10000
in 60 days
Hire poornachand
$ 500
in 20 days
$ 650
in 25 days
Hire kj163
$ 2500
in 30 days
$ 1000
in 30 days
$ 700
in 10 days
$ 650
in 35 days
Hire darchitects
$ 500
in 30 days
$ 1000
in 20 days
Hire supercoded
$ 300
in 10 days