I need a relatively generic, multithreaded (threadpooled) client server classes designed. Must have working exposed (public) methods, properties, and events detailed within the attached Excel file. Server: - Needs to handle multiple connections over one port. - Needs to be multithreaded, either using IAsync or ThreadPool, or both. - Handle sending/receiving of string messages and serialized objects of UNLIMITED size (meaning if the message is sent, and it is 300MBs, the server should be able to handle receiving it while not disrupting other client connections). This is purely hypothetical, the application using this will probably not send messages exceeding 2MBs in size. - Provide easy to understand handling. General: - Should run over TCP/IP, no need to design for anything other than that. As specified in the excel document, there should be a total of 4 classes, Server, ServerClient, Message, and Client. All are relatively self explanatory upon examination of the desired properties, methods, etc. All methods must be XML commented (standard ///) Each class should follow this top down design: 1) public delegates & events 2) private vars 3) properties 4) constructors 5) methods
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
.NET 2.0 C#