Multi-Threaded Client-Server application for uploading/downloading files to/from a centralized storage server.
Server Functional Specs:
NT Service, The server should be built with an asynchronous server sockets, so execution of the server application is not suspended while it waits for a connection from a client(s). Probably TCP rather than UDP. Must be written 100% in C#.[url removed, login to view]
Must be able to handle simultenaous connections from multiple users and/or single user uploading on multiple threads.
Make a room(dummy class) for user authentication, although in this project you can hard code 2-3 accounts. Database connectivity/user verification will be handled by someone else.
Client Functional Specs:
Installs in My Computer as user selected drive letter. 3 listview controls, local drive, remote account and upload/download progress, username to connect (one of the 3 in the dummy class on the server)
The client should be built with an asynchronous client sockets, so execution of the client application is not suspended while it waits for a connection from a server. Smaller is better i.e. C++ / Virtual Disk Driver / Shell Extension
Incomplete uploads must be showed but not be allowed to be downloaded until they are marked as completed.(maybe grayed out) i.e It is possible for two people using the same account at the same time.
Make sure port is not an issue for firewall protected clients or machines with NAT
#1 Upload Speed is of critical importance
#2 Data Integrity, resend bad packets
#3 Dropped connections must re-establish until all operations are finished
#4 no third party components
SERVER - MS WINDOWS 2003 SERVER
CLIENT - 98,ME,2000,XP (keep it small ;)
BID ACCEPTANCE RULES:
At this point we are looking for submissions of preliminary technical specifications. You must be able to explain how the applications will be designed, How will client and server interact together. How will the multithreading will be handled on the server. It should include your ideas on upload/download speed improvement and data integrity verification. Simple visual diagrams would be a big help here.
UNLES YOU PREPARE A DOCUMENT WITH EXPLANATION ON HOW YOU PLAN TO ACCOMPLISH THIS TASK, YOUR BID WILL NOT EVEN BE LOOKED AT. PLEASE DO NOT WASTE OUR AND YOUR TIME.
Upon our approval of the winner bid (if any) you will have about 2 months to complete this project. Bi-Daily code builds will be required of you. Please do not hesitate to bid high if you can justify it in the documentation.
QUALITY AND INTEGRITY OF YOUR PRODUCT ABOVE ALL