public override void ReceivePacket() { MemoryStream ms = new MemoryStream(Packet.Data); VarInt vi = new VarInt(ms); ProtocolVersion = VarintBitConverter.ToInt32(vi.VarIntData); vi.SetValue(ms); }
public void ReadPacket(Stream s) { int slen = 0; byte[] rdata; VarInt viPacketLength = new VarInt(s); PacketLength = VarintBitConverter.ToInt32(viPacketLength.VarIntData); VarInt viPacketID; if (Compression == false) { viPacketID = new VarInt(s); PacketId = VarintBitConverter.ToInt32(viPacketID.VarIntData); DataLength = PacketLength - viPacketID.Length; Data = new byte[DataLength]; if (s.Read(Data, 0, DataLength) == DataLength) { DataRead = true; } else { DataRead = false; } } else { VarInt viDataLength = new VarInt(s); DataLength = VarintBitConverter.ToInt32(viDataLength.VarIntData); if (DataLength == 0) { //No compression viPacketID = new VarInt(s); PacketId = VarintBitConverter.ToInt32(viPacketID.VarIntData); DataLength = PacketLength - viDataLength.Length - viPacketID.Length; Data = new byte[DataLength]; if (s.Read(Data, 0, DataLength) == DataLength) { DataRead = true; } else { DataRead = false; } } else { Data = new byte[DataLength]; slen = PacketLength - viDataLength.Length; rdata = new byte[slen]; if (s.Read(rdata, 0, slen) == slen) { DataRead = true; } else { DataRead = false; } if (DataRead == true) { MemoryStream ms; ms = new MemoryStream(rdata); InflaterInputStream zlib = new InflaterInputStream(ms); if (zlib.Read(Data, 0, DataLength) == DataLength) { DataRead = true; } else { DataRead = false; } zlib.Close(); ms = new MemoryStream(Data); viPacketID = new VarInt(ms); PacketId = VarintBitConverter.ToInt32(viPacketID.VarIntData); slen = DataLength - viPacketID.Length; if (ms.Read(Data, 0, slen) == slen) { DataRead = true; } else { DataRead = false; } ms.Close(); } } } }
public void SetValue(UInt64 value) { VarIntData = VarintBitConverter.GetVarintBytes(value); }
public void SendPacket(Stream s) { Data = VarintBitConverter.GetVarintBytes(KeepAlive); WritePacket(s); }