: Ok, well let me start off by telling a bit about what I would envision this program to do... I would like to create a small application that runs in the background of a few computers, while running it will replicate files across all of the servers, speed isnt an issue during replication, infact i would like the process to happen slowly maybe a few kbits per sec or so.... anywho, the idea would be for me to be able to request a file, and use the cumulitive speed of the 100 some hard disks to access the file lightning fast, i know there would be bandwidth limitations but these wouldnt be large files.
: Basicaly i have no experiance in C++ programming at all.. Im using a telnet server sample right now to get an idea of what i want.... i know this sounds dumb and ill probably never get any place but i would like some help because i think that i may be able to do it.
: first of all im not sure if im setting this up correctly, i have an idea that intales each server downloading a master file list, containing the servers and files currently located on them, then after downloading that list, it will make connections to each of the servers, now the trick is that the server has to also be a client.
: i would like to do this with just basic telnet style at first. so in other words, the server goes out gets the master file list, and connects to each server, with text based commands it will then send a message to each server to open a new port for incomming connections, after the port is opened on the other side, the serverA connects to serverB, with hard coded password. a file list is then downloaded from serverB with new hosts to connect too, and later on... add in stuff like who ever has the most compleate list will upload back to master file server to allow for fast sync next time... or somthing along thoes lines..
: if anyone has a better idea for going about this please feel free to let me know... also i would like a partner if anyone is interested.
: but the place im at currently is getting the server to create new thread for connections. I need some kind of dynamic creation of instances for classes. like i have the class CTelnet and would like to create an instance for each server being connected to.
: :P so please, i have little experiance in C++ let alone other programming languages but im a really fast learner... so if this interestes anyone please let me know :D
- Have the server download the filelist from each remote machine.
- Merge all the filelists, sort and remove double entries.
- You now have the filelist containing the files that must be present on all machines.
- Compare that to each machine's filelist and you know what to upload from where.
For the technique, and the server is a Windows machine, you may consider using BITS (Binary Intelligent Transfer System) from Microsoft. It's free and standard on XP. It allows for transfers trough HTTP, setting priorities and more. Because it is HTTP, you can also replicate over the Internet.
Microsoft uses it for its Windows Update Service.