private void SendPacketTo(NetworkStream clientStream)
{
if (IsShuttingDown) return;
KinectPacket packet = new KinectPacket();
lock (_kinect.Joints) ///Kinect code can drop joints from array so make sure to lock
{
foreach (KeyValuePair<string, KinectPoint> kvp in _kinect.Joints)
{
//Console.WriteLine(kvp.Key + " " + kvp.Value.ToString());
packet.Messages.Add(kvp.Key, kvp.Value);
}
}
byte[] data = SerializationUtils.SerializeToByteArray(packet);
try
{
clientStream.Write(data, 0, data.Length);
clientStream.Flush();
}
catch
{
//Do nothing
}
}