Instant Messenging
$500-5000 USD
Paid on delivery
I need an Instant Messenger Server Framework (IMSF) built in C# or VB.Net.
I've reviewed Microsoft's MSN Messenger Protocol (<[login to view URL]>) and it seems pretty good. I have also looked at Jabber.
I'm a professional programmer with lots of database and web application experience but little in multi-threading and networking. I'm looking for a **Framework**! I will handle fleshing out the application. Feel free to ask questions.
8/24/2005 -- I made some additional changes to the description.
## Deliverables
* The framework should use the most efficient method of handling tcp or udp connections for up to 10000 clients. After looking at the different methods available in .Net it seems that using the *BeginRead* method of the TcpClient stream handles connections very efficiently.
* It should have what seems to be the standard components of an Instant Messenger server;
1. Notification Server:
This server handles the various client notifications that take place, such as buddy availability
2. Authentication Server:
This server handles authenticating the client using either encrypted values over standard tcp or a completely encrypted channel.
3. Switchboard Server:
This server handles all message transfer between connected clients. When client 1 wishes to connect to client 2 a request is made to the notification server of client 1, requesting a switchboard address that will allow a session between client 1 and client 2.
4. Logging Server:
This server handles all the logging needed. Basically, I need the ability to have the different servers output both basic functional logging and debugging information to a separate server.
* The IM network protocol needs to be easily extensible. If the "standards" XMPP protocol can be used as a base, great. If not, that's fine also.
* The components should all be included in a single exe and use config values to enable/disable different services.
* Configuration values should be loaded using a generic *ConfigReader* class.
* All other types of functionality should be considered "black-box". For instance, the actual method of authenticating the user might end up being a db server or a flat file. The IMSF shouldn't care. The framework function might be something like:
`if(![login to view URL]([login to view URL], [login to view URL])) {<br />
// handle the failure<br />
}`
I will handle writing the isValidLogin method of the client class.
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).
## Platform
Windows 2000 using .Net 1.1 or Windows 2003
Project ID: #3825094