MMORPG Client/Server Network Programming Question

1st - Client sends secure data to server to be processed.
2nd - Server takes that secure data and processes it.
3rd - The data processed on the server is sent back to the client securely.

Using C#.NET or VB.NET what is the most efficient networking object to use to achieve a professional level of client/server network programming? TCP? UDP or something?

What is world of warcraft using for example or everquest 2?  Please provide information about this issue.  

My first step is to create a client that communicates securely & efficiently with the server.

Thank you.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


The best option is to use a combination of both. High profile networking libraries like OpenTNL and RakNet use them optimally to achieve high percentage of secure and safe packet transfers.

Visit OR for these libraries. I would also suggest you visit the following website : for a very good network library.

All the best.

HepenAuthor Commented:
blackspark do you know of any strong network library that is for VB.NET or C#.NET ?  

Also do you know what world of warcraft or everquest uses?
Well, Blizzard used to use the same network stuff until it was reverse engineered, GPL'd and released as Bnetd (remember  Well, that was shut down and now WoW uses a completely new network library.  Not many details on it as it's in-house.  Here's some info on that:

Everquest actually uses a P2P-based architecture for their network protocol.  There's a good article on engineering EverQuest on IEEE Spectrum:  There's a not at the bottom on an article that talks about them using P2P protocols as their network backbone.

Here's some more information on what different games use (everquest is not in this list).  I don't know how useful it is to you, but I thought it was interesting:

If you don't want to reinvent the wheel, I'd go with blackspark's suggestions for libraries.  However, if you want to pull a Blizzard and make something new and unique, go for it.

Here is a good list of popular network APIs that are currently out there:

Good luck!

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Game Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.