/// <summary> /// Reads the next incoming packet. /// </summary> /// <returns></returns> public Packet ReadPacket ( ) { try { byte id = mReader.ReadByte(); Packet p = Packet.GetPacket( ( PacketID ) id ); if (p is Packets.PacketInvalid) throw new IOException("Received unknown packet"); int len = PacketData.GetLength(remote.NetworkStream, remote.PacketOptions); byte[] data = new byte[len]; PacketData pData = new PacketData(data, remote.PacketOptions); p.ReadPacket(pData); return p; } catch { return null; } }
public abstract void ReadPacket( PacketData data );