
When you send packets over TCP, you have to precede them with a byte count, because TCP just delivers a stream of bytes, with no particular block size. If you don't delimit your packets somehow, they will run into each other, and you won't be able to tell where one ends and the next one starts.

I moderate the multiplayer and networking forum on gamedev.net. It's a pretty easy job, because most users are very polite, helpful, and well behaved. However, it seems that, monthly, someone who has never written a networked program shows up and posts their "architecture" for an "MMO" server.

Sometimes, you hear statements like "an Xbox has nnn % of the performance of a Windows PC" where nnn will vary from 25 to 600 or so, depending on context. However, I disagree with any such statement -- you simply can't make that statement without being a whole lot more specific about what you are trying to measure.
You first need to understand how performance on CPUs actually work.

Sometimes, you hear statements like "an Xbox has nnn % of the performance of a Windows PC" where nnn will vary from 25 to 600 or so, depending on context. However, I disagree with any such statement -- you simply can't make that statement without being a whole lot more specific about what you are trying to measure.
You first need to understand how performance on CPUs actually work.

A particle system is something which can be used to make smoke, explosions, contrails, steam, and other kinds of "cloudy" or "sparkly" effects.

In most games, you'll need to know where everything is.

Here is some code that lets you extract the vertices and indices from a loaded XNA Model. You do not need to use any special processor, such as the JigLibX VertexProcessor or some derivative of the ModelProcessor -- it works straight out of the box!

Download the latest version of etwork. You can find the file at the Etwork start page.
Unzip the archive somewhere where you can easily get to it. I use a folder called "c:\code" on my machine, but you can put it in your "My Documents", or "/usr/local/src", or wherever you feel like.

his book will get you started using etwork without too much pain.
Necessary pre-requisites include:

Etwork is a network abstraction library that lets you use UDP or TCP to send packetized messages between machines using a portable C++ interface.