public static IPacket Decode(short opcode, byte[] data) { IPacket packet = null; switch (opcode) { case (short)PacketCode.SensorData: packet = new SensorDataPacket(); break; default: packet = new UnknownPacket(); break; } packet.FromBytes(data); return packet; }
static void OnSensorDataPacketReceived(SensorDataPacket packet) { ProcessThreadCollection currentThreads = Process.GetCurrentProcess().Threads; Console.WriteLine("Thread count: " + currentThreads.Count); string mood = string.Empty; if (packet.Temperature > 30) { mood = "super hot"; } else if (packet.Temperature > 15) { mood = "warm"; } else if (packet.Temperature > 0) { mood = "cold"; } else if (packet.Temperature <= 0) { mood = "freezing"; } Console.Out.WriteLine("It's a {0} day at the clients site, temperature is {1}°C", mood, packet.Temperature); }