Well, it does handle multiple clients concurrently with a pretty much static set of resources, I don't know how Soldat behaves there internally. I mainly wrote this because Soldat's file downloads were (are?) being broken/not working well. (Also for fun.) It's not extensively tested (neither of the both implementations), but the C++ one has a little tool to send requests to the file server (which I also used to measure performance, see the project's README).
In other news, I just refactored the code a bit. Primarily with regard to boost usage; replacing some stuff with C++11 features. (boost::bind → std::bind/lambdas, boost::shared_ptr → std::shared_ptr). I updated the first post and attached the latest code there.