예제 #1
0
        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;
        }
예제 #2
0
        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);
        }