public void SendPacket(SendPacketBase packet) { if (!_socket.Connected) { _conStatus = ConnStatus.Closed; return; } MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); packet.Write(_sequence++, bw); byte[] data = ms.ToArray(); LogInterface.Log(string.Format("Sent Packet to client ({0}) {1}: {2}", AccountID, packet.ToString(), data.Length), LogInterface.LogMessageType.Debug); LogInterface.Log(Utils.PrintBinaryData(data), LogInterface.LogMessageType.Debug); _scSec.EncryptInPlace(data); ms = new MemoryStream(); bw = new BinaryWriter(ms); bw.Write((ushort)data.Length); bw.Write(data); _socket.Send(ms.ToArray()); bw.Close(); }