Hey all.
Its been a long slog. Looked into using boost http server setup, also look into apache and in all cases I would of needed to open a new port.
Plus making my load bar display current down load looked unworkable or a hack.
Inet(I called it Inet) uses a tcp stream packeted protocol serialized with google protocol buffers for data transfer over the wire.
So all I had to do was google protocol the image files and create 4 new network messages and 6 classes to manage the data and a boost bi map after I discovered that multiple clients could upload the same map at the same time bad news... fixed with a boost::bimap with filename and client id keys.
stops clients from uploading more then once at a time and only 1 mappack of the same name can be uploaded at a time.
handles fuzzed files. I forgot to reset the map pack on a test run and multiple uploads accumulated map pack and only noticed when my load bar started to slow down so I broke into the code and checked map packs and 96 files lol, that was in the editor. and in the game I passed the wrong file name in end of file and that made the server send the last file again but packed the data into the wrong file container on deserialization it was caught and left me scratching my head for a bit.
So the sever can handle multiple clients uploading different mappack and downloading to game clients who need the map, plus chat and other messages and be sent while sending files can mix the stream.
one thing Im not sure on is what to do when a client uploads a map to the server then players joint that map but while joining a new client uploads the same map and current players get one type of map and later joined clients get the other.... quick fix is all new map uploads go to a wait area then get published
I'm thinking of having public and private maps settings.
Other then that its working fine. Oh and about 100 hours.
Thanks all.
I was Wrong about the players getting wrong map data in joined games. I forgot when a room gets created it loads the map into memory and stays there untill the room is destroyed(after idel no player for some time). The down side to that is if that client who uploaded his new map joins the game with the old map it will over write there edited map.
But nope the more I think about this issue the harder it sounds.