Beispiel #1
0
        public static Packet ReadPacket(Stream stream)
        {
            var    packetType = stream.ReadByte();
            Packet packet     = null;

            switch (packetType)
            {
            case 1:
                packet = new RequestConnectPacket();
                packet.ReadPacketData(stream);
                return(packet);

            case 2:
                packet = new ConnectDecisionPacket();
                packet.ReadPacketData(stream);
                return(packet);

            case 3:
                packet = new InputPacket();
                packet.ReadPacketData(stream);
                return(packet);

            case 4:
                packet = new GameStatePacket();
                packet.ReadPacketData(stream);
                return(packet);

            default:
                throw new Exception("Unrecognized Packet Type");
            }
        }
 private void ReceiveStates(UdpClient c, IPEndPoint ip)
 {
     while (true)
     {
         var res = c.Receive(ref ip);
         lastNetworkReceived = DateTime.Now;
         var stream = new MemoryStream(res);
         var packet = new GameStatePacket();
         packet.ReadPacketData(stream);
         lock (ServerStateBufferLock)
             ServerStateBuffer.Add(packet);
     }
 }