I actually had to do a project very similar to this one during my Network Programming class as part of my Computer Science degree. Therefore, I am confident that I can re-make this to your exact specifications. You can expect the code to be of high quality, well structured and commented, as well as with documentation if needed.