Hi guys,
My employer has given me a mission to find a robust and scalable API for C++ that allows for easy programming of client / server systems.

In this case the application they intend to build involves thousands of clients sending data continuously to a central server (the data is fairly simple, currently they intend only to send arrays of integers).

The current implementation they have uses a piece of code called NDK which is just a CSocket wrapper written by one guy: http://www.codeproject.com/KB/IP/ndk.aspx

I've done a little googling around and can't seem to find anything, does anyone here have any ideas?

Thanks!

As C++ developer - stop finding ready-made code or solution otherwise you will mess up your work.

I know of one library, but I don't know if it would fill your needs. DataReel This library contains a lot of code, but also client/server sockets with sample programs.

Thank you very much, I will certainly investigate this.

adatapost: In this particular case I'm just trying to find a framework for my employer, personally I think for what we need the software to do we would be much better off rolling our own simple implementation.

On the other hand, I think a lot of developers would disagree with you when it comes to reusing code or using API's and existing implementations to write new software.

>As C++ developer - stop finding ready-made code or solution otherwise you will
>mess up your work.
"Good programmers know what to write. Great ones know what to rewrite (and reuse)."
He is not looking for "homework helps". He is trying to exercise what is one of the well known good programming methodology "Code reuse".

To OP:
boost::asio is perhaps the most standard way to implement sockets. It is cross-platform and obviously free. Boost also have many library for IPC methods. Try to find them and use them. Boost libraries are the most expertly designed .

Comments
yep, gotta love the boost libraries.

On the other hand, I think a lot of developers would disagree with you when it comes to reusing code or using API's and existing implementations to write new software.

No, never copy other people code (specially codeproject or others not-professional code, plenty of bugs and unusable in production environment)
The only available code is the one from the documentation (MSDN for Windows... and there are even a few bugs in MSDN...)

I agree with Siddhant -- but you have to be careful of the code you use. For example I have used some MFC c++ code from codeproject.com in my production projects. One was an editable grid control for wireless devices running Mobile 5.0 and PocketPC which would have taken hundreds of manhours to duplicate.

This article has been dead for over six months. Start a new discussion instead.