Writing UDP client/server in C# vs. C++

G

Guest

So I've been tasked with writing a UDP client/server. I finished writing the client/server in C# and now I've been told that it should be written in C++ for scalability (speed). This is for a MMORPG game (Massive Multiplayer Online) so the code must be blazing fast and scalable

I wonder - is there that much of a difference in writing this client/server in C++ using WinSock 2.2 as far as speed and scalability is concerned to warrant writing a new client/server? I'm passing about 50 serialized objects back and forth from client/server/client/etc. .
 
C

Chris Mullins

Rob Walker said:
I wonder - is there that much of a difference in writing this client/server
in C++ using WinSock 2.2 as far as speed and scalability is
concerned to warrant writing a new client/server? I'm passing
about 50 serialized objects back and forth from client/server/client/etc.
.. .

I've written large (huge) network applications in both C++ and .NET. While
my .NET apps have been TCP based, I can say without a doubt that scalability
of .NET with regards to TCP is amazing.

Scalable implementations in both environments end up using IOCP - and (in my
opinion) this is alot easer in .NET land using the Async socket methods than
it is in C++.

If you are planning on writing a large and highly scalable network (read:
lots of sockets!) .NET application, you'll have to understand how garbage
collection works, what pinning is, and how to work with (rather than fight)
the garbage collector. This is pretty easy to do...
 
J

Joerg Jooss

Rob said:
So I've been tasked with writing a UDP client/server. I finished
writing the client/server in C# and now I've been told that it should
be written in C++ for scalability (speed).

Speed != scalability. You can't switch programming languages and thus
achieve scalability. That's dumb management talk. Scalability is mainly
achieved (or ruined) by application architecture, in your case garbage
collection (mis-)behavior and threading.

Cheers,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top