public void SendPacket(IPacketOut Packet) { var message = Packet.Handle(); if (!Packet.Initialize()) { Console.WriteLine("Error in packet " + Packet.GetType().Name + " [" + message.Header + "]"); return; } Socket.Send(message.PacketData.ToArray()); }
public void SendPacket(IPacketOut packetTemplate) { MemoryStream stream = new MemoryStream(); PacketWriter writer = new PacketWriter(stream); packetTemplate.Serialize(writer); byte[] uncompressed = stream.ToArray(); byte[] compressed = compressor.Compress(uncompressed); Packet packet = Packet.Create(); packet.Writer.Write((short)compressed.Length); packet.Writer.Write((short)uncompressed.Length); packet.Writer.Write(compressed); Send(packet.Data); }