I need a simple program to demonstrate a "proof of concept".
A program in C++ (or C) that can archive/extract a file (compress/decompress) of any format and send it to an IP address you specify.
The program should ask you what file you'd like to compress, select one (preferably any format), compress it and then ask you to which IP address you would like to send that file. Let's say 127.0.0.1 so that it loops back to you. The receiver would then receive notification that a file has been received (active client-server listener) and be asked where he would like to extract it. A notification such as: "The file has been compressed x2.8 times, resulting in an increased bandwidth performance of 280%. That means that if you had 500 KB/s, you sent the file as if you had 1.37 MB/s" would be a desirable plus.
I have attached some helping source code for the archiver and the following link for the file sender:
[url removed, login to view]
Some added program specifications that clarify further the information provided above:
- I need the archiver and the file transfer features to be part of one program.
- The program shouldn't use pre-defined compression/decompression (for the archiver) or file transfer protocol functions, which for instance .NET Framework 2.0 offers; or provided by default by Microsoft libraries - for the archiver/file transfer functions, that is.
- The compression/decompression (archive/extract) and file transfer functions/algorithms must be coded into the source code. Feel free to do this as custom attached libraries to the project's code, or directly into the program's code.
- The program should be able to process (compress/decompress) any kind of file (most known file extensions is suffice) without any kind of loss of data (lossless compression).
- The program must work on windows 7 and XP. (or at least windows 7)
- Have in mind that the purpose of this program is "proof of concept", so please keep it simple and nothing too complex.
- The algorithm for compression/decompression will be of your chosing, keeping in mind that the compression ratio should be decent, the algorithm shouldn't be the most basic/simple of them all, but not the most complex of them all either.
- Single threading works just fine, but if it's easier for you multi-threading, feel free to do that.
- Also feel free to "inspire yourself" from other source codes; feel free to use libraries that you have coded and attached to the program's source code, in order to use their functions;
- If you use custom coded libraries, i ask of you to delete from them anything that the program doesn't use, so that the code remains clean and easy to understand.
- This program: "Satellite uplink" and the source code, along with the documentation (10-15 pages), in english, of how the program was coded, what algorithms were used, should give a clear insight on what this program does, how it does it and how it's been programmed.
I need this done in 5-7 days. If I get trustworthy bids (some good feedback; but at least not having joined [url removed, login to view] a couple of days ago, or even worse, today), I'll decide in 24 hours who to award the project !
Feel free to ask any questions bellow, I'll answer all of them.