You can sufficiently send yaw and pitch using two 16 bit integers, instead of a full blown 32bit integer/fixed point. You are also left with an additional 7 bits per integer (assuming you use a value of 0-360), which means that you can pack additional torque data for the angle into it (use 0x168 or 0x7F to mask out either the angle or the torque).
The torque data can be used for dead reckoning to lower the frequency you have to send packages. Like Chaoscoder said, use UDP and allow the packets to be dropped and send every few time intervals (seconds, depending on your needs), a reliable package to synchronize the orientation of the character.


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com