Network Toolkits.
Like everything else, there are many different types of networking engines/tool kits. All of these have various different advantages and disadvantages. So here I hope to summarise what tool kit is best for different types of developers.
So to kick of we are going to start talking about game developers.
Game Developers:

Well.. for game developers, it is key for the game not to get lagged down by network communications.
The theory behind games is the main loop. This is where everything is executed (graphics, audio, network, etc…). This means that if anything run slowly, the whole game gets held up. This causes lag and generally pisses of the user. So when you think about the network process, assuming your using TCP, this means sending the data and then waiting for the receiver (the player) to tell the sender (the game server), the executing the rest of the data. The problem here lies in the fact that the game has to wait for the reciver to tell the sender that the data got there OK. So this potentially could cause a hold up in the game loop. What would be ideal is that if we didn’t have to wait for the reply.
This is where UDP comes in. Using UDP, programs on networked computers can send short messages sometimes known as datagrams (using Datagram Sockets) to one another. UDP is sometimes called the Universal Data-gram Protocol. UDP doesn’t wait for a confirmation, it just sends it and carries on. This is great as there is a much slimmer chance of it slowing down the game. So now you understand the theory behind it, lets move on.

The library I recommend is RakNet. Raknet is a cross-platform C++ game networking engine. It is designed to be a high performance, easy to integrate, and complete solution for games and other applications. It used by major software products like Unity, Sony Online Entertainment ( for more on that see their site: http://www.jenkinssoftware.com/ ). It is really easy to integrate it well into your software/games. For a first time tutorial visit here: http://www.rakkarsoft.com/raknet/manual/RakNetMajorFeatures.html.
So that’s for the games side, now for software dev…
Software Developers:
For software dev’s, speed isn’t as important as it would be for an on-line games. Reliability and organization are way more important. Especially for file transfer programs and e-mail applications.
![]()
For this it would be advisable to use something like Qt. This is a well established toolkit that handles everything. It uses TCP\IP and gets your data there reliably and in-ordered. For more information visit here: http://doc.trolltech.com/4.2/qtnetwork.html
Well, that’s all for now. I hope that has helped with you development. Don’t forget to check out my projects.
Harry.








0 comments
Kick things off by filling out the form below.
Leave a Comment