public void Send(params object[] args) { try { byte[] serilisedData = Formatter.Serialize(args); if (Encryption != null) { serilisedData = Encryption.Encrypt(serilisedData); } byte[] Packet = null; using (MemoryStream packetStream = new MemoryStream()) using (BinaryWriter packetWriter = new BinaryWriter(packetStream)) { packetWriter.Write(serilisedData.Length); packetWriter.Write(serilisedData); Packet = packetStream.ToArray(); } NetworkSocket.BeginSend(Packet, 0, Packet.Length, SocketFlags.None, EndSend, null); } catch { //Not connected } }