Never having had to do this myself, I can only support what Gab has said.
Make sure that the "Lots" of data is all real data that is needed. As has been said on these boards its quite tempting to let Bmax deal with (For example) bytes asthough there were ints. (That is one Byte by itself is as long as an Int you need 4 next to each other to be really bytes)
And although it seems obvious dont send any data that cannot possible have changed since last time you sent data. As a stupid example, a tileType might contain the name of the Tile, and internaly in your program you might be passing this round (cos its only a pointer), when it comes to the Net YOU KNOW, that the name has not changed, so dont sent it.
Make sure that the "Lots" of data is all real data that is needed. As has been said on these boards its quite tempting to let Bmax deal with (For example) bytes asthough there were ints. (That is one Byte by itself is as long as an Int you need 4 next to each other to be really bytes)
And although it seems obvious dont send any data that cannot possible have changed since last time you sent data. As a stupid example, a tileType might contain the name of the Tile, and internaly in your program you might be passing this round (cos its only a pointer), when it comes to the Net YOU KNOW, that the name has not changed, so dont sent it.